Skip to content

Commit 561b873

Browse files
committed
Cleanup code, remove commented out debug code
1 parent 54c87be commit 561b873

File tree

2 files changed

+0
-55
lines changed

2 files changed

+0
-55
lines changed

scram/client.nim

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,6 @@ proc prepareFinalMessage*[T](s: ScramClient[T], password, serverFirstMessage: st
5454
iterations: int
5555
var matches: array[3, string]
5656
if match(serverFirstMessage, SERVER_FIRST_MESSAGE, matches):
57-
#nonce = matches[0]
58-
#salt = base64.decode(matches[1])
59-
#iterations = parseInt(matches[2])
6057
for kv in serverFirstMessage.split(','):
6158
if kv[0..1] == "i=":
6259
iterations = parseInt(kv[2..^1])
@@ -86,19 +83,6 @@ proc prepareFinalMessage*[T](s: ScramClient[T], password, serverFirstMessage: st
8683
var clientProof = clientKey
8784
clientProof ^= clientSignature
8885
s.state = FINAL_PREPARED
89-
# echo &"client password {password}"
90-
# echo &"client salt {salt}"
91-
# echo &"client iterations {iterations}"
92-
# echo &"client saltedPassword {base64.encode(saltedPassword)}"
93-
# echo &"client clientKey {base64.encode(clientKey)}"
94-
# echo &"client storedKey {base64.encode(storedKey)}"
95-
# echo &"client serverKey {base64.encode(serverKey)}"
96-
# echo &"client authMessage.1 {s.clientFirstMessageBare}"
97-
# echo &"client authMessage.2 {serverFirstMessage}"
98-
# echo &"client authMessage.3 {clientFinalMessageWithoutProof}"
99-
# echo &"client authMessage {authMessage}"
100-
# echo &"client clientSignature {base64.encode(clientSignature)}"
101-
# echo &"client clientProof {base64.encode(clientProof)}"
10286
when NimMajor >= 1 and (NimMinor >= 1 or NimPatch >= 2):
10387
clientFinalMessageWithoutProof & ",p=" & base64.encode(clientProof)
10488
else:
@@ -114,7 +98,6 @@ proc verifyServerFinalMessage*(s: ScramClient, serverFinalMessage: string): bool
11498
for kv in serverFinalMessage.split(','):
11599
if kv[0..1] == "v=":
116100
proposedServerSignature = base64.decode(kv[2..^1])
117-
#let proposedServerSignature = base64.decode(matches[0])
118101
s.isSuccessful = proposedServerSignature == $%s.serverSignature
119102
s.isSuccessful
120103

scram/server.nim

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,6 @@ proc initUserData*[T](typ: typedesc[T], password: string, iterations = 4096): Us
3131
storedKey = HASH[T]($%clientKey)
3232
serverKey = HMAC[T]($%saltedPassword, SERVER_KEY)
3333

34-
# echo &"server password {password}"
35-
# echo &"server salt {salt}"
36-
# echo &"server iterations {iterations}"
37-
# echo &"server saltedPassword {base64.encode(saltedPassword)}"
38-
# echo &"server clientKey {base64.encode(clientKey)}"
39-
# echo &"server serverKey {base64.encode(serverKey)}"
40-
# echo &"server storedKey {base64.encode(storedKey)}"
41-
4234
result.salt = base64.encode(salt)
4335
result.iterations = iterations
4436
result.storedKey = base64.encode($%storedKey)
@@ -59,19 +51,10 @@ proc newScramServer*[T](): ScramServer[T] {.deprecated: "use `new ScramServer[T]
5951
proc handleClientFirstMessage*[T](s: ScramServer[T],clientFirstMessage: string): string =
6052
let parts = clientFirstMessage.split(',', 2)
6153
var matches: array[3, string]
62-
# echo &"client first message {clientFirstMessage}"
6354
if not match(clientFirstMessage, CLIENT_FIRST_MESSAGE, matches) or not parts.len == 3:
6455
s.state = ENDED
6556
return
66-
# echo &"client first message matches {matches}"
6757
s.clientFirstMessageBare = parts[2]
68-
# Disabled code until this is resolved
69-
# <https://github.com/nim-lang/Nim/issues/19104>
70-
#s.serverNonce = matches[2] & makeNonce()
71-
#echo &"s.serverNonce = {s.serverNonce}"
72-
#echo &"username = {matches[1]}"
73-
#s.state = FIRST_CLIENT_MESSAGE_HANDLED
74-
#matches[1] # username
7558

7659
s.state = FIRST_CLIENT_MESSAGE_HANDLED
7760
for kv in s.clientFirstMessageBare.split(','):
@@ -84,20 +67,13 @@ proc prepareFirstMessage*(s: ScramServer, userData: UserData): string =
8467
s.state = FIRST_PREPARED
8568
s.userData = userData
8669
s.serverFirstMessage = "r=$#,s=$#,i=$#" % [s.serverNonce, userData.salt, $userData.iterations]
87-
# echo &"server first message: {s.serverFirstMessage}"
8870
s.serverFirstMessage
8971

9072
proc prepareFinalMessage*[T](s: ScramServer[T], clientFinalMessage: string): string =
9173
var matches: array[4, string]
92-
# echo &"client final message {clientFinalMessage}"
9374
if not match(clientFinalMessage, CLIENT_FINAL_MESSAGE, matches):
9475
s.state = ENDED
9576
return
96-
# echo &"client final message matches {matches}"
97-
#let
98-
# clientFinalMessageWithoutProof = matches[0]
99-
# nonce = matches[2]
100-
# proof = matches[3]
10177
var clientFinalMessageWithoutProof, nonce, proof: string
10278
for kv in clientFinalMessage.split(','):
10379
if kv[0..1] == "p=":
@@ -111,7 +87,6 @@ proc prepareFinalMessage*[T](s: ScramServer[T], clientFinalMessage: string): str
11187

11288
if nonce != s.serverNonce:
11389
s.state = ENDED
114-
# echo &"nonce mismatch {nonce} != {s.serverNonce}"
11590
return
11691

11792
let
@@ -121,24 +96,12 @@ proc prepareFinalMessage*[T](s: ScramServer[T], clientFinalMessage: string): str
12196
serverSignature = HMAC[T](decode(s.userData.serverKey), authMessage)
12297
decodedProof = base64.decode(proof)
12398
clientKey = custom_xor(clientSignature, decodedProof)
124-
#var clientKey = $clientSignature
125-
#clientKey ^= decodedProof
12699
let resultKey = HASH[T](clientKey).raw_str
127-
# echo &"server storedKey {base64.encode(storedKey)}"
128-
# echo &"server resultKey {base64.encode(resultKey)}"
129-
# echo &"server authMessage.1 {s.clientFirstMessageBare}"
130-
# echo &"server authMessage.2 {s.serverFirstMessage}"
131-
# echo &"server authMessage.3 {clientFinalMessageWithoutProof}"
132-
# echo &"server authMessage {authMessage}"
133-
# echo &"server clientSignature {base64.encode(clientSignature)}"
134-
# echo &"server clientKey {base64.encode(clientKey)} .len = {clientKey.len} {$typeof(clientSignature)}"
135-
# echo &"server decodedProof {base64.encode(decodedProof)} .len = {decodedProof.len}"
136100

137101
# SECURITY: constant time HMAC check
138102
if not constantTimeEqual(resultKey, storedKey):
139103
let k1 = base64.encode(resultKey)
140104
let k2 = base64.encode(storedKey)
141-
# echo &"key mismatch {k1} != {k2}"
142105
return
143106

144107
s.isSuccessful = true
@@ -147,7 +110,6 @@ proc prepareFinalMessage*[T](s: ScramServer[T], clientFinalMessage: string): str
147110
result = "v=" & base64.encode(serverSignature)
148111
else:
149112
result = "v=" & base64.encode(serverSignature, newLine="")
150-
# echo &"server final message: {result}"
151113

152114

153115
proc isSuccessful*(s: ScramServer): bool =

0 commit comments

Comments
 (0)