Revision: 6018
http://openser.svn.sourceforge.net/openser/?rev=6018&view=rev
Author: timoreimann
Date: 2010-07-13 12:59:25 +0000 (Tue, 13 Jul 2010)
Log Message:
-----------
Fix minor typo
Modified Paths:
--------------
branches/1.5/modules/dialog/dlg_hash.c
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 6017
http://openser.svn.sourceforge.net/openser/?rev=6017&view=rev
Author: timoreimann
Date: 2010-07-13 11:49:39 +0000 (Tue, 13 Jul 2010)
Log Message:
-----------
modules/dialog: Do not send BYE request for non-confirmed dialogs
(not supported)
Modified Paths:
--------------
branches/1.5/modules/dialog/dlg_req_within.c
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Module: sip-router
Branch: andrei/tcp_tls_changes
Commit: d950e1dfaa6b13867bf469a76a0c33fa7eb54f4d
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d950e1d…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Fri Jul 9 20:20:51 2010 +0200
tls: enable PARTIAL_WRITE by default
Set SSL_MODE_ENABLE_PARTIAL_WRITE and
SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER on startup.
---
modules/tls/tls_domain.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/modules/tls/tls_domain.c b/modules/tls/tls_domain.c
index 762991a..97dc942 100644
--- a/modules/tls/tls_domain.c
+++ b/modules/tls/tls_domain.c
@@ -851,6 +851,22 @@ int tls_fix_domains_cfg(tls_domains_cfg_t* cfg, tls_domain_t* srv_defaults,
ERR("invalid ssl_read_ahead value (%d)\n", ssl_read_ahead);
return -1;
}
+ /* set options for SSL_write:
+ SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER - needed when queueing
+ clear text for a future write (WANTS_READ). In this case the
+ buffer address will change for the repeated SSL_write() and
+ without this option it will trigger the openssl sanity checks.
+ SSL_MODE_ENABLE_PARTIAL_WRITE - needed to deal with potentially
+ huge multi-record writes that don't fit in the default buffer
+ (the default buffer must have space for at least 1 record) */
+ if (tls_foreach_CTX_in_cfg(cfg, tls_ssl_ctx_mode,
+ SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER |
+ SSL_MODE_ENABLE_PARTIAL_WRITE,
+ 0) < 0) {
+ ERR("could not set SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER and"
+ " SSL_MODE_ENABLE_PARTIAL_WRITE\n");
+ return -1;
+ }
return 0;
}
Module: sip-router
Branch: andrei/tcp_tls_changes
Commit: 813284bad28a11c985cbd4ce370fdee98c815e88
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=813284b…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Fri Jul 9 20:03:45 2010 +0200
tls: partial SSL_write support when reading (tls_read_f)
When writing-on-read (due to queued send data waiting for a
renegotiation to complete), retry the write if it did not have
enough buffer space to complete (after freeing the buffer space by
tcp_send-ing its content).
---
modules/tls/tls_server.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/modules/tls/tls_server.c b/modules/tls/tls_server.c
index 8d45b53..122141e 100644
--- a/modules/tls/tls_server.c
+++ b/modules/tls/tls_server.c
@@ -1151,9 +1151,15 @@ ssl_read_skipped:
}
goto end; /* no more data to read */
case SSL_ERROR_WANT_WRITE:
- /* write buffer too small, nothing written */
+ if (wr.used) {
+ /* something was written => buffer not big enough to hold
+ everything => reset buffer & retry (the tcp_write already
+ happened if we are here) */
+ goto continue_ssl_read;
+ }
+ /* else write buffer too small, nothing written */
BUG("write buffer too small (%d/%d bytes)\n",
- wr.used, wr.size);
+ wr.used, wr.size);
goto bug;
case SSL_ERROR_SSL:
/* protocol level error */