提交 5a560fce authored 作者: Michael Jerris's avatar Michael Jerris

Mon May 26 14:57:28 EDT 2008 Pekka Pessi <first.last@nokia.com>

  * nth: gracefully downgrade to tcp only if no tls certificates are available


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8676 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 3e68d5e3
Mon May 26 20:18:02 EDT 2008 Mon May 26 20:18:27 EDT 2008
...@@ -440,6 +440,8 @@ static char const *const he_tports[] = { ...@@ -440,6 +440,8 @@ static char const *const he_tports[] = {
"tcp", "tls", NULL "tcp", "tls", NULL
}; };
static char const *const he_no_tls_tports[] = { "tcp", NULL };
static tp_stack_class_t http_client_class[1] = { { static tp_stack_class_t http_client_class[1] = { {
sizeof(http_client_class), sizeof(http_client_class),
he_recv_message, he_recv_message,
...@@ -456,7 +458,11 @@ int he_create_tports(nth_engine_t * he, tagi_t *tags) ...@@ -456,7 +458,11 @@ int he_create_tports(nth_engine_t * he, tagi_t *tags)
if (!he->he_tports) if (!he->he_tports)
return -1; return -1;
return tport_tbind(he->he_tports, he_name, he_tports, if (tport_tbind(he->he_tports, he_name, he_tports,
TPTAG_SERVER(0), TAG_NEXT(tags)) >= 0)
return 0;
return tport_tbind(he->he_tports, he_name, he_no_tls_tports,
TPTAG_SERVER(0), TAG_NEXT(tags)); TPTAG_SERVER(0), TAG_NEXT(tags));
} }
......
...@@ -688,6 +688,8 @@ static char const * const http_tports[] = ...@@ -688,6 +688,8 @@ static char const * const http_tports[] =
"tcp", "tls", NULL "tcp", "tls", NULL
}; };
static char const * const http_no_tls_tports[] = { "tcp", NULL };
static tp_stack_class_t nth_server_class[1] = static tp_stack_class_t nth_server_class[1] =
{{ {{
sizeof(nth_server_class), sizeof(nth_server_class),
...@@ -738,6 +740,8 @@ server_t *server_create(url_t const *url, ...@@ -738,6 +740,8 @@ server_t *server_create(url_t const *url,
srv->srv_max_bodylen = 1 << 30; /* 1 GB */ srv->srv_max_bodylen = 1 << 30; /* 1 GB */
if (tport_tbind(srv->srv_tports, tpn, http_tports, if (tport_tbind(srv->srv_tports, tpn, http_tports,
TAG_END()) >= 0 ||
tport_tbind(srv->srv_tports, tpn, http_no_tls_tports,
TAG_END()) >= 0) { TAG_END()) >= 0) {
srv->srv_root = root; srv->srv_root = root;
srv->srv_mclass = mclass ? mclass : http_default_mclass(); srv->srv_mclass = mclass ? mclass : http_default_mclass();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论