<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -98,6 +98,16 @@ VALUE eCurlErrTFTPUnknownID;
 VALUE eCurlErrTFTPFileExists;
 VALUE eCurlErrTFTPNoSuchUser;
 
+VALUE eCurlErrConvFailed;
+VALUE eCurlErrConvReqd;
+VALUE eCurlErrSSLCacertBadfile;
+VALUE eCurlErrRemoteFileNotFound;
+VALUE eCurlErrSSH;
+VALUE eCurlErrSSLShutdownFailed;
+VALUE eCurlErrAgain;
+VALUE eCurlErrSSLCRLBadfile;
+VALUE eCurlErrSSLIssuerError;
+
 /* multi errors */
 VALUE mCurlErrCallMultiPerform;
 VALUE mCurlErrBadHandle;
@@ -361,6 +371,63 @@ void raise_curl_easy_error_exception(CURLcode code) {
       exclz = eCurlErrTFTPNotFound;
       break;
 #endif
+#ifdef HAVE_CURLE_CONV_FAILED
+    case CURLE_CONV_FAILED:             /* 75 - conversion failed */
+      exclz = eCurlErrConvFailed;
+      break;
+#endif
+#ifdef HAVE_CURLE_CONV_REQD
+    case CURLE_CONV_REQD:               /* 76 - caller must register conversion
+                                                callbacks using curl_easy_setopt options
+                                                CURLOPT_CONV_FROM_NETWORK_FUNCTION,
+                                                CURLOPT_CONV_TO_NETWORK_FUNCTION, and
+                                                CURLOPT_CONV_FROM_UTF8_FUNCTION */
+      exclz = eCurlErrConvReqd;
+      break;
+#endif
+#ifdef HAVE_CURLE_SSL_CACERT_BADFILE
+    case CURLE_SSL_CACERT_BADFILE:      /* 77 - could not load CACERT file, missing
+                                                or wrong format */
+      exclz = eCurlErrSSLCacertBadfile;
+      break;
+#endif
+#ifdef  HAVE_CURLE_REMOTE_FILE_NOT_FOUND
+    case CURLE_REMOTE_FILE_NOT_FOUND:   /* 78 - remote file not found */
+      exclz = eCurlErrRemoteFileNotFound;
+      break;
+#endif
+#ifdef  HAVE_CURLE_SSH
+    case CURLE_SSH:                     /* 79 - error from the SSH layer, somewhat
+                                    generic so the error message will be of
+                                    interest when this has happened */
+      exclz = eCurlErrSSH;
+      break;
+#endif
+#ifdef  HAVE_CURLE_SSL_SHUTDOWN_FAILED
+    case CURLE_SSL_SHUTDOWN_FAILED:     /* 80 - Failed to shut down the SSL
+                                    connection */
+      exclz = eCurlErrSSLShutdownFailed;
+      break;
+#endif
+#ifdef  HAVE_CURLE_AGAIN
+    case CURLE_AGAIN:                   /* 81 - socket is not ready for send/recv,
+                                    wait till it's ready and try again (Added
+                                    in 7.18.2) */
+      exclz = eCurlErrAgain;
+      break;
+#endif
+#ifdef  HAVE_CURLE_SSL_CRL_BADFILE
+    case CURLE_SSL_CRL_BADFILE:         /* 82 - could not load CRL file, missing or
+                                    wrong format (Added in 7.19.0) */
+      exclz = eCurlErrSSLCRLBadfile;
+      break;
+#endif
+#ifdef  HAVE_CURLE_SSL_ISSUER_ERROR
+    case CURLE_SSL_ISSUER_ERROR:        /* 83 - Issuer check failed.  (Added in
+                                    7.19.0) */
+      exclz = eCurlErrSSLIssuerError;
+      break;
+#endif
     default:
       exclz = eCurlErrError;
       exmsg = &quot;Unknown error result from libcurl&quot;;
@@ -501,10 +568,20 @@ void init_curb_errors() {
   eCurlErrRecvError = rb_define_class_under(mCurlErr, &quot;RecvError&quot;, eCurlErrError);
   eCurlErrShareInUse = rb_define_class_under(mCurlErr, &quot;ShareInUseError&quot;, eCurlErrError);
 
+  eCurlErrConvFailed  = rb_define_class_under(mCurlErr, &quot;ConvFailed&quot;, eCurlErrError);
+  eCurlErrConvReqd    = rb_define_class_under(mCurlErr, &quot;ConvReqd&quot;, eCurlErrError);
+  eCurlErrRemoteFileNotFound  = rb_define_class_under(mCurlErr, &quot;RemoteFileNotFound&quot;, eCurlErrError);
+  eCurlErrAgain  = rb_define_class_under(mCurlErr, &quot;Again&quot;, eCurlErrError);
+
   eCurlErrSSLCertificate = rb_define_class_under(mCurlErr, &quot;SSLCertificateError&quot;, eCurlErrError);
   eCurlErrSSLCipher = rb_define_class_under(mCurlErr, &quot;SSLCypherError&quot;, eCurlErrError);
   eCurlErrSSLCACertificate = rb_define_class_under(mCurlErr, &quot;SSLCACertificateError&quot;, eCurlErrError);
   eCurlErrBadContentEncoding = rb_define_class_under(mCurlErr, &quot;BadContentEncodingError&quot;, eCurlErrError);
+  eCurlErrSSLCacertBadfile   = rb_define_class_under(mCurlErr, &quot;SSLCaertBadFile&quot;, eCurlErrError);
+  eCurlErrSSLCRLBadfile      = rb_define_class_under(mCurlErr, &quot;SSLCRLBadfile&quot;, eCurlErrError);
+  eCurlErrSSLIssuerError     = rb_define_class_under(mCurlErr, &quot;SSLIssuerError&quot;, eCurlErrError);
+  eCurlErrSSLShutdownFailed  = rb_define_class_under(mCurlErr, &quot;SSLShutdownFailed&quot;, eCurlErrError);
+  eCurlErrSSH                = rb_define_class_under(mCurlErr, &quot;SSH&quot;, eCurlErrError);
 
   eCurlErrLDAPInvalidURL = rb_define_class_under(mCurlErr, &quot;InvalidLDAPURLError&quot;, eCurlErrLDAPError);
 </diff>
      <filename>ext/curb_errors.c</filename>
    </modified>
    <modified>
      <diff>@@ -97,6 +97,15 @@ extern VALUE eCurlErrTFTPIllegalOperation;
 extern VALUE eCurlErrTFTPUnknownID;
 extern VALUE eCurlErrTFTPFileExists;
 extern VALUE eCurlErrTFTPNoSuchUser;
+extern VALUE eCurlErrConvFailed;
+extern VALUE eCurlErrConvReqd;
+extern VALUE eCurlErrSSLCacertBadfile;
+extern VALUE eCurlErrRemoteFileNotFound;
+extern VALUE eCurlErrSSH;
+extern VALUE eCurlErrSSLShutdownFailed;
+extern VALUE eCurlErrAgain;
+extern VALUE eCurlErrSSLCRLBadfile;
+extern VALUE eCurlErrSSLIssuerError;
 
 /* multi errors */
 extern VALUE mCurlErrCallMultiPerform;</diff>
      <filename>ext/curb_errors.h</filename>
    </modified>
    <modified>
      <diff>@@ -78,6 +78,17 @@ have_constant &quot;curle_login_denied&quot;
 # older than 7.16.3
 have_constant &quot;curlmopt_maxconnects&quot;
 
+# additional consts
+have_constant &quot;curle_conv_failed&quot;
+have_constant &quot;curle_conv_reqd&quot;
+have_constant &quot;curle_ssl_cacert_badfile&quot;
+have_constant &quot;curle_remote_file_not_found&quot;
+have_constant &quot;curle_ssh&quot;
+have_constant &quot;curle_ssl_shutdown_failed&quot;
+have_constant &quot;curle_again&quot;
+have_constant &quot;curle_ssl_crl_badfile&quot;
+have_constant &quot;curle_ssl_issuer_error&quot;
+
 # centos 4.5 build of libcurl
 have_constant &quot;curlm_bad_socket&quot;
 have_constant &quot;curlm_unknown_option&quot;</diff>
      <filename>ext/extconf.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3c3e53c64a2417f78aa19f593a5f66e3ddffc969</id>
    </parent>
  </parents>
  <author>
    <name>Todd A. Fisher</name>
    <login></login>
    <email>taf2@web3.anerian.com</email>
  </author>
  <url>http://github.com/taf2/curb/commit/d953fe3caeae66b7bbe055fa79008ca379327576</url>
  <id>d953fe3caeae66b7bbe055fa79008ca379327576</id>
  <committed-date>2009-06-13T08:34:13-07:00</committed-date>
  <authored-date>2009-06-13T08:34:13-07:00</authored-date>
  <message>updated error codes to reflect current libcurl</message>
  <tree>c13dcaf0cc6052c4a9d0986c970e0624c87aae2c</tree>
  <committer>
    <name>Todd A. Fisher</name>
    <login></login>
    <email>taf2@web3.anerian.com</email>
  </committer>
</commit>
