Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 22nd, 2012  |  syntax: None  |  size: 4.43 KB  |  hits: 33  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. diff --git a/settings.c b/settings.c
  2. index 2a847de..7e8cb94 100644
  3. --- a/settings.c
  4. +++ b/settings.c
  5. @@ -37,6 +37,7 @@ int           browser_mode = XT_BM_NORMAL;
  6.  int            gui_mode = XT_GM_CLASSIC;
  7.  int            enable_localstorage = 1;
  8.  char           *statusbar_elems = NULL;
  9. +char           *priorities = NULL;
  10.  
  11.  /* runtime settings */
  12.  int            show_tabs = 1;  /* show tabs on notebook */
  13. @@ -353,6 +354,7 @@ struct settings             rs[] = {
  14.         { "enable_favicon_entry",       XT_S_INT, 0,            &enable_favicon_entry, NULL, NULL, NULL, set_enable_favicon_entry },
  15.         { "enable_favicon_tabs",        XT_S_INT, 0,            &enable_favicon_tabs, NULL, NULL, NULL, set_enable_favicon_tabs },
  16.         { "referer",                    XT_S_STR, 0, NULL, NULL,&s_referer, NULL, set_referer_rt },
  17. +       { "priorities",                 XT_S_STR, XT_SF_RESTART,NULL, &priorities, NULL },
  18.  
  19.         /* font settings */
  20.         { "cmd_font",                   XT_S_STR, 0, NULL, &cmd_font_name, NULL },
  21. diff --git a/xxxterm.1 b/xxxterm.1
  22. index 0aaaed9..d1b8a62 100644
  23. --- a/xxxterm.1
  24. +++ b/xxxterm.1
  25. @@ -1196,6 +1196,17 @@ This is a plugin whitelist item.
  26.  See
  27.  .Cm cookie_wl
  28.  for semantics and more details.
  29. +.It Cm priorities
  30. +Set priorities for ciphers, key exchange methods, macs and compression methods.
  31. +The default is
  32. +.Pa SECURE256 .
  33. +Consult
  34. +.Xr gnutls-cli 1
  35. +sub-section
  36. +.Sx TLS/SSL control options
  37. +for format.
  38. +.Nm gnutls-cli Fl l
  39. +lists supported algorithms and modes.
  40.  .It Cm read_only_cookies
  41.  Mark cookies file read-only and discard all cookies once the session is
  42.  terminated.
  43. diff --git a/xxxterm.c b/xxxterm.c
  44. index ac2d335..3df8d93 100644
  45. --- a/xxxterm.c
  46. +++ b/xxxterm.c
  47. @@ -1577,6 +1577,7 @@ start_tls(const gchar **error_str, int s, gnutls_session_t *gs,
  48.         gnutls_session_t        gsession;
  49.         int                     rv = 1;
  50.         static gchar            myerror[1024]; /* this is not thread safe */
  51. +       const char              *err;
  52.  
  53.         if (gs == NULL || xc == NULL)
  54.                 goto done;
  55. @@ -1590,7 +1591,25 @@ start_tls(const gchar **error_str, int s, gnutls_session_t *gs,
  56.             GNUTLS_X509_FMT_PEM);
  57.  
  58.         gnutls_init(&gsession, GNUTLS_CLIENT);
  59. -       gnutls_priority_set_direct(gsession, "PERFORMANCE", NULL);
  60. +       if ((rv = gnutls_priority_set_direct(gsession, priorities,
  61. +           &err)) < 0) {
  62. +               if (rv == GNUTLS_E_INVALID_REQUEST)
  63. +                       snprintf(myerror, sizeof myerror, "priorities syntax"
  64. +                           " error at: %s", err);
  65. +               else
  66. +                       snprintf(myerror, sizeof myerror,
  67. +                           "gnutls_priority_set_direct failed %d fatal %d %s",
  68. +                           rv,
  69. +                           gnutls_error_is_fatal(rv),
  70. +#if LIBGNUTLS_VERSION_MAJOR >= 2 && LIBGNUTLS_VERSION_MINOR >= 6
  71. +                           gnutls_strerror_name(rv));
  72. +#else
  73. +                           "GnuTLS version is too old to provide human"
  74. +                           " readable error");
  75. +#endif
  76. +               stop_tls(gsession, xcred);
  77. +               goto done;
  78. +       }
  79.         gnutls_credentials_set(gsession, GNUTLS_CRD_CERTIFICATE, xcred);
  80.         gnutls_transport_set_ptr(gsession, (gnutls_transport_ptr_t)(long)s);
  81.  #ifdef __MINGW32__
  82. @@ -1606,12 +1625,20 @@ start_tls(const gchar **error_str, int s, gnutls_session_t *gs,
  83.  #if LIBGNUTLS_VERSION_MAJOR >= 2 && LIBGNUTLS_VERSION_MINOR >= 6
  84.                     gnutls_strerror_name(rv));
  85.  #else
  86. -                   "GNUTLS version is too old to provide human readable error");
  87. +                   "GnuTLS version is too old to provide human readable error");
  88.  #endif
  89.                 stop_tls(gsession, xcred);
  90.                 goto done;
  91.         }
  92.  
  93. +       DPRINTF("%s: cipher %s kx %s mac %s comp %s proto %s\n",
  94. +           __func__,
  95. +           gnutls_cipher_get_name(gnutls_cipher_get(gsession)),
  96. +           gnutls_kx_get_name(gnutls_kx_get(gsession)),
  97. +           gnutls_mac_get_name(gnutls_mac_get(gsession)),
  98. +           gnutls_compression_get_name(gnutls_compression_get(gsession)),
  99. +           gnutls_protocol_get_name(gnutls_protocol_get_version(gsession)));
  100. +
  101.         gnutls_credentials_type_t cred;
  102.         cred = gnutls_auth_get_type(gsession);
  103.         if (cred != GNUTLS_CRD_CERTIFICATE) {
  104. @@ -7787,6 +7814,7 @@ main(int argc, char **argv)
  105.         statusbar_elems = g_strdup("BP");
  106.         spell_check_languages = g_strdup("en_US");
  107.         encoding = g_strdup("UTF-8");
  108. +       priorities = g_strdup("SECURE256");
  109.  
  110.         /* read config file */
  111.         if (strlen(conf) == 0)
  112. diff --git a/xxxterm.conf b/xxxterm.conf
  113. index cc81ded..ceb133d 100644
  114. --- a/xxxterm.conf
  115. +++ b/xxxterm.conf
  116. @@ -59,6 +59,7 @@
  117.  # enable_favicon_entry = 0
  118.  # enable_favicon_tabs  = 1
  119.  # referer              = always
  120. +# priorities           = SECURE256
  121.  
  122.  # See http://www.xroxy.com/proxylist.php for a good list of open
  123.  # proxies.
  124. diff --git a/xxxterm.h b/xxxterm.h
  125. index f546256..0d45222 100644
  126. --- a/xxxterm.h
  127. +++ b/xxxterm.h
  128. @@ -646,6 +646,7 @@ extern int  enable_favicon_entry;
  129.  extern int     enable_favicon_tabs;
  130.  extern int     referer_mode;
  131.  extern char    *referer_custom;
  132. +extern char    *priorities;
  133.  
  134.  /* globals */
  135.  extern char            *version;