From aa7002b2e164e403f49b5e7629ec0a246fa7d850 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 24 Jul 2015 16:04:50 +0200 Subject: pharo: Fix the conversion, more crypto, address handling --- Makefile | 3 +-- pharo-porting/changes_for_pharo.st | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f50e8e1..b5c40a7 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ CONVERT_RULES = -r'Osmo.LogManager->LogManager' \ -r'RecursionLock->Mutex' \ -r'SystemExceptions.EndOfStream->Exception' \ -r'Sockets.DatagramSocket new->Socket newUDP' \ - -r'(``@obj beginsWith: ``@arg2 )->(``@obj startsWith: ``@arg2)' \ + -r'(``@obj startsWith: ``@arg2 )->(``@obj beginsWith: ``@arg2)' \ # Can not be parsed right now.. # -r'(``@object => ``@args1)->(``@object ==> ``@args1)' @@ -40,7 +40,6 @@ GRAMMAR = \ CALLAGENT = \ callagent/Base64MimeConverter.st \ - callagent/Extensions.st \ callagent/SIPLogArea.st \ callagent/SIPDialog.st \ callagent/misc/SIPBase64.st \ diff --git a/pharo-porting/changes_for_pharo.st b/pharo-porting/changes_for_pharo.st index e36fa58..9de32d1 100644 --- a/pharo-porting/changes_for_pharo.st +++ b/pharo-porting/changes_for_pharo.st @@ -9,6 +9,11 @@ SIPURandom class extend [ ^(RAND rand: 4) asInteger ] + + nextFourBytes [ + + ^RAND rand: 4 + ] ] SIPUserAgentBase class extend [ @@ -17,6 +22,32 @@ SIPUserAgentBase class extend [ "For pharo just use the random we have" ^(RAND rand: 4) asInteger abs ] + + generateBranch [ + | data | + data := '<1p>,<2p>' expandMacrosWithArguments: + {DateTime now asUTC asSeconds. + (RAND rand: 2) asInteger}. + ^ self branchStart, (SIPBase64 encode: data). + ] +] + +SIPUserAgentBase extend [ + generateVia: aBranch [ + + "For Pharo assume that transport address is a string" + ^ (WriteStream on: String new) + nextPutAll: 'SIP/2.0/'; + nextPutAll: transport type; + nextPutAll: ' '; + nextPutAll: transport address; + nextPutAll: ':'; + nextPutAll: transport port asString; + nextPutAll: ';branch='; + nextPutAll: aBranch; + nextPutAll: ';rport'; + contents. + ] ] SIPQuotedStringParser extend [ -- cgit v1.2.3