Skip to content

Commit

Permalink
Merge pull request #160 from MysteriumNetwork/hotfix/node-throws-out-…
Browse files Browse the repository at this point in the history
…clients-with-several-digit-ids

MYST-333 Fix node auth error when client ids are several number length
  • Loading branch information
tadovas committed Feb 14, 2018
2 parents f82562b + 16a9466 commit 45a1ace
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
4 changes: 2 additions & 2 deletions openvpn/middlewares/server/auth/middleware.go
Expand Up @@ -44,7 +44,7 @@ func (m *middleware) Stop() error {

func (m *middleware) checkReAuth(line string) (cont bool, consumed bool, err error) {

rule, err := regexp.Compile("^>CLIENT:REAUTH,(\\d),(\\d)$")
rule, err := regexp.Compile("^>CLIENT:REAUTH,(\\d+),(\\d+)$")
if err != nil {
return false, false, err
}
Expand All @@ -62,7 +62,7 @@ func (m *middleware) checkReAuth(line string) (cont bool, consumed bool, err err

func (m *middleware) checkConnect(line string) (cont bool, consumed bool, err error) {

rule, err := regexp.Compile("^>CLIENT:CONNECT,(\\d),(\\d)$")
rule, err := regexp.Compile("^>CLIENT:CONNECT,(\\d+),(\\d+)$")
if err != nil {
return false, false, err
}
Expand Down
15 changes: 15 additions & 0 deletions openvpn/middlewares/server/auth/middleware_test.go
Expand Up @@ -210,3 +210,18 @@ func Test_ConsumeLineAuthFalseChecker(t *testing.T) {
assert.True(t, fas.called)
assert.False(t, fas.authenticated)
}

func TestMiddlewareConsumesClientIdsAntKeysWithSeveralDigits(t *testing.T) {
var tests = []string{
">CLIENT:CONNECT,115,23",
">CLIENT:REAUTH,11,27",
}

fas := newFakeAuthenticatorStub()
middleware := NewMiddleware(fas.fakeAuthenticator)
for _, testLine := range tests {
consumed, err := middleware.ConsumeLine(testLine)
assert.NoError(t, err, testLine)
assert.Equal(t, true, consumed, testLine)
}
}

0 comments on commit 45a1ace

Please sign in to comment.