smalltalk
/
osmo-st-sip
Archived
1
0
Fork 0

pharo: Fix the conversion, more crypto, address handling

This commit is contained in:
Holger Hans Peter Freyther 2015-07-24 16:04:50 +02:00
parent 15d8883c95
commit aa7002b2e1
2 changed files with 32 additions and 2 deletions

View File

@ -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 \

View File

@ -9,6 +9,11 @@ SIPURandom class extend [
<category: 'random'>
^(RAND rand: 4) asInteger
]
nextFourBytes [
<category: 'random'>
^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 [
<category: 'ids'>
"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 [