Guest User

Untitled

a guest
Apr 22nd, 2012
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  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;
Advertisement
Add Comment
Please, Sign In to add comment