+/*********************************************************************
+ *
+ * Function : translate_socks5_error
+ *
+ * Description : Translates a SOCKS errors to a string.
+ *
+ * Parameters :
+ * 1 : socks_error = The error code to translate.
+ *
+ * Returns : The string translation.
+ *
+ *********************************************************************/
+static const char *translate_socks5_error(int socks_error)
+{
+ switch (socks_error)
+ {
+ /* XXX: these should be more descriptive */
+ case SOCKS5_REQUEST_FAILED:
+ return "SOCKS5 request failed";
+ case SOCKS5_REQUEST_DENIED:
+ return "SOCKS5 request denied";
+ case SOCKS5_REQUEST_NETWORK_UNREACHABLE:
+ return "SOCKS5 network unreachable";
+ case SOCKS5_REQUEST_HOST_UNREACHABLE:
+ return "SOCKS5 host unreachable";
+ case SOCKS5_REQUEST_CONNECTION_REFUSEDD:
+ return "SOCKS5 connection refused";
+ case SOCKS5_REQUEST_TTL_EXPIRED:
+ return "SOCKS5 TTL expired";
+ case SOCKS5_REQUEST_PROTOCOL_ERROR:
+ return "SOCKS5 client protocol error";
+ case SOCKS5_REQUEST_BAD_ADDRESS_TYPE:
+ return "SOCKS5 domain names unsupported";
+ case SOCKS5_REQUEST_GRANTED:
+ return "everything's peachy";
+ default:
+ return "SOCKS5 negotiation protocol error";
+ }
+}