From 4582128a19403e2c956870e9a47a5747547ad622 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Wed, 27 Jul 2022 19:08:37 +0200 Subject: [PATCH] Support RFC 7395 framing If '' is specified, use RFC 7395 framing for opening and closing the stream. Resolves #164. --- src/tsung/ts_jabber_common.erl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/tsung/ts_jabber_common.erl b/src/tsung/ts_jabber_common.erl index 8ca25a3b..7e1ff81e 100644 --- a/src/tsung/ts_jabber_common.erl +++ b/src/tsung/ts_jabber_common.erl @@ -54,9 +54,9 @@ get_message(Jabber=#jabber{type = 'connect'}) -> connect(Jabber); get_message(#jabber{type = 'starttls'}) -> starttls(); -get_message(#jabber{type = 'close', id=Id,username=User,passwd=Pwd,user_server=UserServer}) -> +get_message(#jabber{type = 'close', id=Id,username=User,passwd=Pwd,user_server=UserServer,version=Version}) -> ts_user_server:remove_connected(UserServer,set_id(Id,User,Pwd)), - close(); + close(Version); get_message(#jabber{type = 'presence'}) -> presence(); get_message(#jabber{type = 'presence:initial', id=Id,username=User,passwd=Pwd,user_server=UserServer}) -> @@ -311,6 +311,10 @@ get_message2(Jabber=#jabber{type = 'auth_sasl_session'}) -> %%---------------------------------------------------------------------- %% Func: connect/1 %%---------------------------------------------------------------------- +connect(#jabber{domain=Domain, version="websocket"}) -> + list_to_binary([ + ""]); connect(#jabber{domain=Domain, version = Version}) -> VersionStr = case Version of "legacy" -> @@ -326,10 +330,13 @@ connect(#jabber{domain=Domain, version = Version}) -> "' xmlns='jabber:client' ",VersionStr,"xmlns:stream='http://etherx.jabber.org/streams'>"]). %%---------------------------------------------------------------------- -%% Func: close/0 +%% Func: close/1 %% Purpose: close jabber session %%---------------------------------------------------------------------- -close () -> list_to_binary(""). +close("websocket") -> + <<"">>; +close(_Version) -> + <<"">>. %%---------------------------------------------------------------------- %% Func: starttls/0