Skip to content

Commit 93ac668

Browse files
authored
Merge pull request #14 from Q-Master/master
Fix #13
2 parents 426d85d + 66af412 commit 93ac668

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

scram.nimble

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version = "0.1.10"
1+
version = "0.1.11"
22
author = "Huy Doan"
33
description = "Salted Challenge Response Authentication Mechanism (SCRAM) "
44
license = "MIT"

scram/client.nim

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,22 @@ type
1010
isSuccessful: bool
1111
serverSignature: T
1212

13-
let
14-
SERVER_FIRST_MESSAGE = peg"'r='{[^,]*}',s='{[^,]*}',i='{\d+}$"
15-
SERVER_FINAL_MESSAGE = peg"'v='{[^,]*}$"
16-
13+
when compileOption("threads"):
14+
var
15+
SERVER_FIRST_MESSAGE_VAL {.threadvar.}: ref Peg
16+
SERVER_FINAL_MESSAGE_VAL {.threadvar.}: ref Peg
17+
template SERVER_FIRST_MESSAGE: Peg =
18+
if SERVER_FIRST_MESSAGE_VAL.isNil:
19+
SERVER_FIRST_MESSAGE_VAL[] = peg"'r='{[^,]*}',s='{[^,]*}',i='{\d+}$"
20+
SERVER_FIRST_MESSAGE_VAL[]
21+
template SERVER_FINAL_MESSAGE: Peg =
22+
if SERVER_FINAL_MESSAGE_VAL.isNil:
23+
SERVER_FINAL_MESSAGE_VAL[] = peg"'v='{[^,]*}$"
24+
SERVER_FINAL_MESSAGE_VAL[]
25+
else:
26+
let
27+
SERVER_FIRST_MESSAGE = peg"'r='{[^,]*}',s='{[^,]*}',i='{\d+}$"
28+
SERVER_FINAL_MESSAGE = peg"'v='{[^,]*}$"
1729

1830
proc newScramClient*[T](): ScramClient[T] =
1931
result = new(ScramClient[T])

0 commit comments

Comments
 (0)