From d2c5f8ed887c4dbd870647dc49c48aa586ddfb13 Mon Sep 17 00:00:00 2001 From: Jono Wenger <jono@elixxir.io> Date: Fri, 2 Apr 2021 22:33:04 +0000 Subject: [PATCH] XX-3169 / Net Time --- bindings/timeNow.go | 24 +++++++++ go.mod | 4 +- go.sum | 50 ++++++------------- keyExchange/confirm_test.go | 4 +- keyExchange/exchange_test.go | 3 +- keyExchange/trigger_test.go | 3 +- keyExchange/utils_test.go | 7 ++- network/ephemeral/tracker.go | 9 ++-- network/ephemeral/tracker_test.go | 5 +- network/message/garbled_test.go | 3 +- network/message/parse/partition_test.go | 6 +-- network/message/sendCmix.go | 5 +- network/message/sendCmix_test.go | 3 +- network/message/sendE2E.go | 3 +- network/message/sendUnsafe.go | 4 +- single/manager_test.go | 9 ++-- single/receiveResponse_test.go | 7 +-- single/reception_test.go | 13 ++--- single/transmission.go | 7 +-- single/transmission_test.go | 15 +++--- stoppable/cleanup.go | 3 +- storage/auth/sentRequest.go | 4 +- storage/auth/store.go | 4 +- storage/clientVersion/store.go | 4 +- storage/clientVersion/store_test.go | 4 +- storage/cmix/key.go | 4 +- storage/cmix/store.go | 6 +-- storage/conversation/partner.go | 4 +- storage/e2e/key_test.go | 4 +- storage/e2e/manager_test.go | 4 +- storage/e2e/relationship.go | 4 +- storage/e2e/relationshipFingerprint.go | 4 +- storage/e2e/session.go | 11 ++-- storage/e2e/session_test.go | 9 ++-- storage/e2e/stateVector.go | 4 +- storage/e2e/store.go | 4 +- storage/partition/multiPartMessage.go | 3 +- storage/partition/multiPartMessage_test.go | 17 ++++--- storage/partition/part.go | 4 +- storage/partition/part_test.go | 12 ++--- storage/partition/store_test.go | 6 +-- storage/reception/identity.go | 3 +- storage/reception/identity_test.go | 15 +++--- storage/reception/registration.go | 5 +- storage/reception/registration_test.go | 9 ++-- storage/reception/store.go | 11 ++-- storage/reception/store_test.go | 21 ++++---- storage/regCode.go | 4 +- storage/regStatus.go | 6 +-- storage/rounds/earliestRound.go | 4 +- storage/rounds/unknownRounds.go | 28 +++++------ storage/session_test.go | 2 +- storage/user/cryptographic.go | 4 +- storage/user/regValidationSig.go | 6 +-- storage/user/regValidationSig_test.go | 6 +-- storage/user/username.go | 4 +- storage/user/username_test.go | 4 +- storage/utility/NDF.go | 4 +- storage/utility/cmixMessageBuffer.go | 4 +- storage/utility/cmixMessageBuffer_test.go | 4 +- storage/utility/contact.go | 4 +- storage/utility/dh.go | 4 +- storage/utility/e2eMessageBuffer.go | 5 +- storage/utility/e2eMessageBuffer_test.go | 4 +- storage/utility/group.go | 4 +- storage/utility/knownRounds.go | 2 +- storage/utility/messageBuffer.go | 4 +- storage/utility/messageBuffer_test.go | 6 +-- storage/utility/meteredCmixMessageBuffer.go | 7 +-- .../utility/meteredCmixMessageBuffer_test.go | 5 +- storage/versioned/kv_test.go | 19 ++++--- ud/registered.go | 4 +- 72 files changed, 269 insertions(+), 246 deletions(-) create mode 100644 bindings/timeNow.go diff --git a/bindings/timeNow.go b/bindings/timeNow.go new file mode 100644 index 000000000..dbeda1696 --- /dev/null +++ b/bindings/timeNow.go @@ -0,0 +1,24 @@ +/////////////////////////////////////////////////////////////////////////////// +// Copyright © 2020 xx network SEZC // +// // +// Use of this source code is governed by a license that can be found in the // +// LICENSE file // +/////////////////////////////////////////////////////////////////////////////// + +package bindings + +import ( + "gitlab.com/xx_network/primitives/netTime" + "time" +) + +type TimeSource interface { + NowMs() int +} + +// SetTimeSource sets the network time to a custom source. +func SetTimeSource(timeNow TimeSource) { + netTime.Now = func() time.Time { + return time.Unix(0, int64(timeNow.NowMs()*int(time.Millisecond))) + } +} diff --git a/go.mod b/go.mod index d58a8c4f7..14d509875 100644 --- a/go.mod +++ b/go.mod @@ -19,13 +19,13 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/viper v1.7.1 gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 - gitlab.com/elixxir/comms v0.0.4-0.20210401210158-6053ad2e224c + gitlab.com/elixxir/comms v0.0.4-0.20210402222700-7fac5f85c596 gitlab.com/elixxir/crypto v0.0.7-0.20210401210040-b7f1da24ef13 gitlab.com/elixxir/ekv v0.1.4 gitlab.com/elixxir/primitives v0.0.3-0.20210401175645-9b7b92f74ec4 gitlab.com/xx_network/comms v0.0.4-0.20210401160731-7b8890cdd8ad gitlab.com/xx_network/crypto v0.0.5-0.20210401160648-4f06cace9123 - gitlab.com/xx_network/primitives v0.0.4-0.20210331161816-ed23858bdb93 + gitlab.com/xx_network/primitives v0.0.4-0.20210402222416-37c1c4d3fac4 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1 // indirect diff --git a/go.sum b/go.sum index 2c4b93e22..91e103b40 100644 --- a/go.sum +++ b/go.sum @@ -85,10 +85,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -257,24 +254,18 @@ github.com/zeebo/pcg v1.0.0 h1:dt+dx+HvX8g7Un32rY9XWoYnd0NmKmrIzpHF7qiTDj0= github.com/zeebo/pcg v1.0.0/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 h1:Gi6rj4mAlK0BJIk1HIzBVMjWNjIUfstrsXC2VqLYPcA= gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228/go.mod h1:H6jztdm0k+wEV2QGK/KYA+MY9nj9Zzatux/qIvDDv3k= -gitlab.com/elixxir/comms v0.0.4-0.20210324213817-bcf120b56ea9 h1:7oDwmGrFtOWrg0gwViSdSj1ntdHcWy8o//pwAcqTNoY= -gitlab.com/elixxir/comms v0.0.4-0.20210324213817-bcf120b56ea9/go.mod h1:2mXUixKz4sTwuXXmAoFKyrfU8uQxWdAd0gLiSpAOV38= -gitlab.com/elixxir/comms v0.0.4-0.20210326171912-e70c1821bf11 h1:B1HilXNXFgE3M3e0AiaKydepNDPepmYGW+pBN7lzinQ= -gitlab.com/elixxir/comms v0.0.4-0.20210326171912-e70c1821bf11/go.mod h1:+8BoGqi7XAGGsX0oYsmA2Mv0gQ2ETujqgx/Q5Be0EU8= -gitlab.com/elixxir/comms v0.0.4-0.20210401161030-7ace84f51ba1 h1:8NQRw+SXHgbbiUAKoPLdE6/AGbUWdKLIVW6mTm44mFs= -gitlab.com/elixxir/comms v0.0.4-0.20210401161030-7ace84f51ba1/go.mod h1:A95i072Mpvgv298+SJBhpLoC/7ow1qQ1ClJOrmx39hg= -gitlab.com/elixxir/comms v0.0.4-0.20210401210158-6053ad2e224c h1:NRo6oQanUuHRdrLQrZJYk1HbcbdkJyMUsG6ac4ZLQiQ= -gitlab.com/elixxir/comms v0.0.4-0.20210401210158-6053ad2e224c/go.mod h1:QXRI0znExoj6ozFASj+cIsOXOLwD+9v9uViRCex/ZC8= +gitlab.com/elixxir/comms v0.0.4-0.20210402183711-0350710740e7 h1:JfR2UVZDqAIQeicHq7ZIPuJyPzkcr59OT5uGz4XyFiI= +gitlab.com/elixxir/comms v0.0.4-0.20210402183711-0350710740e7/go.mod h1:3ikLStVfz4wUMgzL/WkDE9umkeizAKMlO5GQcnDmH5c= +gitlab.com/elixxir/comms v0.0.4-0.20210402205438-eca60a717c47 h1:w0SarO3yraN81dZJan7lDz6OjexoqP52kRAdlnfCr4o= +gitlab.com/elixxir/comms v0.0.4-0.20210402205438-eca60a717c47/go.mod h1:Hd9NbUwdRXFcs5ZgukPYsChmM8AqxJRjzMNvQuUXqh4= +gitlab.com/elixxir/comms v0.0.4-0.20210402205854-0ea056917a98 h1:6GF+txzdbf5EKZKXcwfHagH7G+vmDmMjQZAoMSsHXm4= +gitlab.com/elixxir/comms v0.0.4-0.20210402205854-0ea056917a98/go.mod h1:Hd9NbUwdRXFcs5ZgukPYsChmM8AqxJRjzMNvQuUXqh4= +gitlab.com/elixxir/comms v0.0.4-0.20210402222700-7fac5f85c596 h1:jX6H4vu//StDLKZn5lcmxp9S3IhzS/8Uttg0K5r7Iqo= +gitlab.com/elixxir/comms v0.0.4-0.20210402222700-7fac5f85c596/go.mod h1:jqqUYnsftpfQXJ57BPYp5A+i7qfA5IXhKUE9ZOSrqaE= gitlab.com/elixxir/crypto v0.0.0-20200804182833-984246dea2c4 h1:28ftZDeYEko7xptCZzeFWS1Iam95dj46TWFVVlKmw6A= gitlab.com/elixxir/crypto v0.0.0-20200804182833-984246dea2c4/go.mod h1:ucm9SFKJo+K0N2GwRRpaNr+tKXMIOVWzmyUD0SbOu2c= gitlab.com/elixxir/crypto v0.0.3 h1:znCt/x2bL4y8czTPaaFkwzdgSgW3BJc/1+dxyf1jqVw= gitlab.com/elixxir/crypto v0.0.3/go.mod h1:ZNgBOblhYToR4m8tj4cMvJ9UsJAUKq+p0gCp07WQmhA= -gitlab.com/elixxir/crypto v0.0.7-0.20210319231554-b73b6e62ddbc h1:r2nJ1opPnvaY/46nqOHxBEh/QlbNH3O7hurfDtJC0Wk= -gitlab.com/elixxir/crypto v0.0.7-0.20210319231554-b73b6e62ddbc/go.mod h1:Th9bJRvEQecOFW0coD21AzzIBoNDOXcP3+hIGXELCXE= -gitlab.com/elixxir/crypto v0.0.7-0.20210326171146-c137bd7b0c6e h1:+zoFtqHyHUflsF1DPf+vty8o1hur5gQyBy6FERmPKyg= -gitlab.com/elixxir/crypto v0.0.7-0.20210326171146-c137bd7b0c6e/go.mod h1:bmCiS3OH4BGWL6Y/hnvA3jsNYd736UERL4UU9ScdbZQ= -gitlab.com/elixxir/crypto v0.0.7-0.20210401160850-96cbf25fc59e h1:jShX0uoSujeCsfOmd488Y2/5eBC95DpuAgE9hCvxQxE= -gitlab.com/elixxir/crypto v0.0.7-0.20210401160850-96cbf25fc59e/go.mod h1:FB/p76sl1IOZy6biKSs+ESj4pC75Wc4qMpdWwCnddWk= gitlab.com/elixxir/crypto v0.0.7-0.20210401210040-b7f1da24ef13 h1:x6oSLhgzhBcXeItHQ7OlDNoyvebgyNdGCaywAP/IkMc= gitlab.com/elixxir/crypto v0.0.7-0.20210401210040-b7f1da24ef13/go.mod h1:5k+LGynIQa42jZ/UbNVwBiZGHKvLXbXXkqyuTY6uHs0= gitlab.com/elixxir/ekv v0.1.4 h1:NLVMwsFEKArWcsDHu2DbXlm9374iSgn7oIA3rVSsvjc= @@ -284,26 +275,14 @@ gitlab.com/elixxir/primitives v0.0.0-20200804170709-a1896d262cd9/go.mod h1:p0Vel gitlab.com/elixxir/primitives v0.0.0-20200804182913-788f47bded40/go.mod h1:tzdFFvb1ESmuTCOl1z6+yf6oAICDxH2NPUemVgoNLxc= gitlab.com/elixxir/primitives v0.0.1 h1:q61anawANlNAExfkeQEE1NCsNih6vNV1FFLoUQX6txQ= gitlab.com/elixxir/primitives v0.0.1/go.mod h1:kNp47yPqja2lHSiS4DddTvFpB/4D9dB2YKnw5c+LJCE= -gitlab.com/elixxir/primitives v0.0.3-0.20210309193003-ef42ebb4800b h1:TswWfqiZqsdPLeWsfe7VJHMlV01W792kRHGYfYwb2Lk= -gitlab.com/elixxir/primitives v0.0.3-0.20210309193003-ef42ebb4800b/go.mod h1:/e3a4KPqmA9V22qKSZ9prfYYNzIzvLI8xh7noVV091w= -gitlab.com/elixxir/primitives v0.0.3-0.20210326022836-1143187bd2fe h1:fOZONg2RIiMtJoXdQHBSAdhv8/fm03VGEnZWcF9DJ8Q= -gitlab.com/elixxir/primitives v0.0.3-0.20210326022836-1143187bd2fe/go.mod h1:/e3a4KPqmA9V22qKSZ9prfYYNzIzvLI8xh7noVV091w= -gitlab.com/elixxir/primitives v0.0.3-0.20210401160752-2fe779c9fb2a h1:EyBlFKVP5905RCA9Rf18EfZwYurUW4b8LmZLv9TOC4I= -gitlab.com/elixxir/primitives v0.0.3-0.20210401160752-2fe779c9fb2a/go.mod h1:9qqDucNbLP9ArL1VKCXQuqYrcAbJIUcI8uzbP7NmKDw= gitlab.com/elixxir/primitives v0.0.3-0.20210401175645-9b7b92f74ec4 h1:PFrOIpax1IMXS7jVGFhOF3bSOWh3IWhNUD18n1DzSZM= gitlab.com/elixxir/primitives v0.0.3-0.20210401175645-9b7b92f74ec4/go.mod h1:9qqDucNbLP9ArL1VKCXQuqYrcAbJIUcI8uzbP7NmKDw= gitlab.com/xx_network/comms v0.0.0-20200805174823-841427dd5023/go.mod h1:owEcxTRl7gsoM8c3RQ5KAm5GstxrJp5tn+6JfQ4z5Hw= -gitlab.com/xx_network/comms v0.0.4-0.20210323233204-5acf90f56550 h1:pLEE4KyitAexCMenkTA2BnPP5McXmLp/LVXrful7pZQ= -gitlab.com/xx_network/comms v0.0.4-0.20210323233204-5acf90f56550/go.mod h1:0Hx+zO3Pr4uYw4RZXFnPM3ocjY6bPIKDiHCjWTZLOSI= -gitlab.com/xx_network/comms v0.0.4-0.20210326005744-5e73cbf0f525 h1:wfAzcd9Cv3tUQT23odiEDNcBYjn+Q9w7qQfSbmw6F/c= -gitlab.com/xx_network/comms v0.0.4-0.20210326005744-5e73cbf0f525/go.mod h1:0Hx+zO3Pr4uYw4RZXFnPM3ocjY6bPIKDiHCjWTZLOSI= gitlab.com/xx_network/comms v0.0.4-0.20210401160731-7b8890cdd8ad h1:0E4wnLoOqODo6K2SwVG18y63sns4WLN3x+nSM9SWfiM= gitlab.com/xx_network/comms v0.0.4-0.20210401160731-7b8890cdd8ad/go.mod h1:inre/Ot0UJkxcfF4Oy4jk2A1MXyicRkPZB9FfnCfKQY= gitlab.com/xx_network/crypto v0.0.3/go.mod h1:DF2HYvvCw9wkBybXcXAgQMzX+MiGbFPjwt3t17VRqRE= gitlab.com/xx_network/crypto v0.0.4 h1:lpKOL5mTJ2awWMfgBy30oD/UvJVrWZzUimSHlOdZZxo= gitlab.com/xx_network/crypto v0.0.4/go.mod h1:+lcQEy+Th4eswFgQDwT0EXKp4AXrlubxalwQFH5O0Mk= -gitlab.com/xx_network/crypto v0.0.5-0.20210319231335-249c6b1aa323 h1:SR65X97KUaNdOQIX1SItNjPcQZ2oqznKM4g0UWpu+BI= -gitlab.com/xx_network/crypto v0.0.5-0.20210319231335-249c6b1aa323/go.mod h1:T2IjHhuTSvaX9qHXfX8qsjbRKsqEzZ73NNHvY3QR6CQ= gitlab.com/xx_network/crypto v0.0.5-0.20210401160648-4f06cace9123 h1:i2PajAamYlacUpAFWqE7g5qtM6Vt/xG9iDfoK1nc2l4= gitlab.com/xx_network/crypto v0.0.5-0.20210401160648-4f06cace9123/go.mod h1:CWV349I9Nv1zPCIY/f8Ej6yWs7NG0HLTWnm+Jlz7jKc= gitlab.com/xx_network/primitives v0.0.0-20200803231956-9b192c57ea7c/go.mod h1:wtdCMr7DPePz9qwctNoAUzZtbOSHSedcK++3Df3psjA= @@ -311,10 +290,14 @@ gitlab.com/xx_network/primitives v0.0.0-20200804183002-f99f7a7284da h1:CCVslUwNC gitlab.com/xx_network/primitives v0.0.0-20200804183002-f99f7a7284da/go.mod h1:OK9xevzWCaPO7b1wiluVJGk7R5ZsuC7pHY5hteZFQug= gitlab.com/xx_network/primitives v0.0.2 h1:r45yKenJ9e7PylI1ZXJ1Es09oYNaYXjxVy9+uYlwo7Y= gitlab.com/xx_network/primitives v0.0.2/go.mod h1:cs0QlFpdMDI6lAo61lDRH2JZz+3aVkHy+QogOB6F/qc= -gitlab.com/xx_network/primitives v0.0.4-0.20210309173740-eb8cd411334a h1:Ume9QbJ4GoJh7v5yg/YVDjowJHx/VFeOC/A4PJZUm9g= -gitlab.com/xx_network/primitives v0.0.4-0.20210309173740-eb8cd411334a/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= gitlab.com/xx_network/primitives v0.0.4-0.20210331161816-ed23858bdb93 h1:ZV5ZfSBX7+7moL8pywpCB3HTNXd03tSwMgDA7SDYaFA= gitlab.com/xx_network/primitives v0.0.4-0.20210331161816-ed23858bdb93/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= +gitlab.com/xx_network/primitives v0.0.4-0.20210402183235-e04f174cf8c4 h1:uPTABEykN9moPQjb427tqVFPcxWbYbiqLZ26iwI8Cws= +gitlab.com/xx_network/primitives v0.0.4-0.20210402183235-e04f174cf8c4/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= +gitlab.com/xx_network/primitives v0.0.4-0.20210402205313-e9b80f75e701 h1:svcqDo2heNLjmUncmgymwRH3lkV5Jy3PdhvLuqmI39o= +gitlab.com/xx_network/primitives v0.0.4-0.20210402205313-e9b80f75e701/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= +gitlab.com/xx_network/primitives v0.0.4-0.20210402222416-37c1c4d3fac4 h1:YPYTKF0zQf08y0eQrjQP01C/EWQTypdqawjZPr5c6rc= +gitlab.com/xx_network/primitives v0.0.4-0.20210402222416-37c1c4d3fac4/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE= gitlab.com/xx_network/ring v0.0.2 h1:TlPjlbFdhtJrwvRgIg4ScdngMTaynx/ByHBRZiXCoL0= gitlab.com/xx_network/ring v0.0.2/go.mod h1:aLzpP2TiZTQut/PVHR40EJAomzugDdHXetbieRClXIM= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -457,7 +440,6 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20201030142918-24207fddd1c3/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1 h1:Zk6zlGXdtYdcY5TL+VrbTfmifvk3VvsXopCpszsHPBA= google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -472,8 +454,6 @@ google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyz google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1 h1:7QnIQpGRHE5RnLKnESfDoxm2dTapTZua5a0kS0A+VXQ= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= diff --git a/keyExchange/confirm_test.go b/keyExchange/confirm_test.go index b2e619c68..8cef6f6f6 100644 --- a/keyExchange/confirm_test.go +++ b/keyExchange/confirm_test.go @@ -13,8 +13,8 @@ import ( "gitlab.com/elixxir/client/interfaces/params" "gitlab.com/elixxir/client/storage/e2e" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "testing" - "time" ) // Smoke test for handleTrigger @@ -57,7 +57,7 @@ func TestHandleConfirm(t *testing.T) { Payload: rekey, MessageType: message.KeyExchangeConfirm, Sender: bobID, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Encryption: message.E2E, } diff --git a/keyExchange/exchange_test.go b/keyExchange/exchange_test.go index 2c1729995..4fd98b3e6 100644 --- a/keyExchange/exchange_test.go +++ b/keyExchange/exchange_test.go @@ -19,6 +19,7 @@ import ( dh "gitlab.com/elixxir/crypto/diffieHellman" "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "testing" "time" ) @@ -74,7 +75,7 @@ func TestFullExchange(t *testing.T) { Payload: rekeyTrigger, MessageType: message.KeyExchangeTrigger, Sender: exchangeBobId, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Encryption: message.E2E, } diff --git a/keyExchange/trigger_test.go b/keyExchange/trigger_test.go index c69e09562..430bba91a 100644 --- a/keyExchange/trigger_test.go +++ b/keyExchange/trigger_test.go @@ -14,6 +14,7 @@ import ( dh "gitlab.com/elixxir/crypto/diffieHellman" "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "google.golang.org/protobuf/proto" "testing" "time" @@ -54,7 +55,7 @@ func TestHandleTrigger(t *testing.T) { Payload: rekey, MessageType: message.NoType, Sender: bobID, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Encryption: message.E2E, } diff --git a/keyExchange/utils_test.go b/keyExchange/utils_test.go index 162db4728..a1447b990 100644 --- a/keyExchange/utils_test.go +++ b/keyExchange/utils_test.go @@ -8,9 +8,6 @@ package keyExchange import ( - "testing" - "time" - "github.com/golang/protobuf/proto" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/interfaces" @@ -31,6 +28,8 @@ import ( "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" "gitlab.com/xx_network/primitives/ndf" + "gitlab.com/xx_network/primitives/netTime" + "testing" ) // Generate partner ID for two people, used for smoke tests @@ -170,7 +169,7 @@ func (t *testNetworkManagerFullExchange) SendE2E(m message.Send, p params.E2E) ( Payload: payload, MessageType: message.KeyExchangeConfirm, Sender: exchangeAliceId, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Encryption: message.E2E, } diff --git a/network/ephemeral/tracker.go b/network/ephemeral/tracker.go index f158e3375..2f19604c4 100644 --- a/network/ephemeral/tracker.go +++ b/network/ephemeral/tracker.go @@ -16,6 +16,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "time" ) @@ -59,7 +60,7 @@ func track(session *storage.Session, ourId *id.ID, stop *stoppable.Single) { receptionStore.WaitForIdSizeUpdate() for true { - now := time.Now() + now := netTime.Now() // Generates the IDs since the last track protoIds, err := ephemeral.GetIdsByRange(ourId, receptionStore.GetIDSize(), now, now.Sub(lastCheck)) @@ -148,7 +149,7 @@ func checkTimestampStore(session *storage.Session) error { if _, err := session.Get(TimestampKey); err != nil { // only generate from the last hour because this is a new id, it // couldn't receive messages yet - now, err := marshalTimestamp(time.Now().Add(-1 * time.Hour)) + now, err := marshalTimestamp(netTime.Now().Add(-1 * time.Hour)) if err != nil { return errors.Errorf("Could not marshal new timestamp for storage: %v", err) } @@ -161,7 +162,7 @@ func checkTimestampStore(session *storage.Session) error { // Takes the stored timestamp and unmarshal into a time object func unmarshalTimestamp(lastTimestampObj *versioned.Object) (time.Time, error) { if lastTimestampObj == nil || lastTimestampObj.Data == nil { - return time.Now(), nil + return netTime.Now(), nil } lastTimestamp := time.Time{} @@ -175,7 +176,7 @@ func marshalTimestamp(timeToStore time.Time) (*versioned.Object, error) { return &versioned.Object{ Version: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, }, err } diff --git a/network/ephemeral/tracker_test.go b/network/ephemeral/tracker_test.go index 1d01511f5..aa4589ebe 100644 --- a/network/ephemeral/tracker_test.go +++ b/network/ephemeral/tracker_test.go @@ -17,6 +17,7 @@ import ( "gitlab.com/xx_network/comms/signature" "gitlab.com/xx_network/crypto/signature/rsa" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "gitlab.com/xx_network/primitives/utils" "testing" "time" @@ -31,7 +32,7 @@ func TestCheck(t *testing.T) { } /// Store a mock initial timestamp the store - now := time.Now() + now := netTime.Now() twoDaysAgo := now.Add(-2 * 24 * time.Hour) twoDaysTimestamp, err := marshalTimestamp(twoDaysAgo) if err != nil { @@ -65,7 +66,7 @@ func TestCheck_Thread(t *testing.T) { stop := stoppable.NewSingle(ephemeralStoppable) /// Store a mock initial timestamp the store - now := time.Now() + now := netTime.Now() yesterday := now.Add(-24 * time.Hour) yesterdayTimestamp, err := marshalTimestamp(yesterday) if err != nil { diff --git a/network/message/garbled_test.go b/network/message/garbled_test.go index 21098b72b..0f5c3a074 100644 --- a/network/message/garbled_test.go +++ b/network/message/garbled_test.go @@ -12,6 +12,7 @@ import ( "gitlab.com/elixxir/crypto/fastRNG" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/crypto/csprng" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "testing" "time" @@ -102,7 +103,7 @@ func TestManager_CheckGarbledMessages(t *testing.T) { fmp.NumParts[0] = uint8(1) binary.BigEndian.PutUint16(fmp.Len, 256) fmp.Part[0] = 0 - ts, err := time.Now().MarshalBinary() + ts, err := netTime.Now().MarshalBinary() if err != nil { t.Errorf("failed to martial ts: %+v", err) } diff --git a/network/message/parse/partition_test.go b/network/message/parse/partition_test.go index 59963cfef..933db1a01 100644 --- a/network/message/parse/partition_test.go +++ b/network/message/parse/partition_test.go @@ -11,8 +11,8 @@ import ( "gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/storage" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "testing" - "time" ) var ipsumTestStr = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sit amet euismod est. Donec dolor " + @@ -67,7 +67,7 @@ func TestPartitioner_Partition(t *testing.T) { p := NewPartitioner(len(ipsumTestStr), storeSession) _, _, err := p.Partition(&id.DummyUser, message.Text, - time.Now(), []byte(ipsumTestStr)) + netTime.Now(), []byte(ipsumTestStr)) if err != nil { t.Error(err) } @@ -94,7 +94,7 @@ func TestPartitioner_HandleFirstPartition(t *testing.T) { storeSession := storage.InitTestingSession(t) p := NewPartitioner(len(ipsumTestStr), storeSession) - m := newFirstMessagePart(message.Text, 1107, 1, time.Now(), []byte(ipsumTestStr)) + m := newFirstMessagePart(message.Text, 1107, 1, netTime.Now(), []byte(ipsumTestStr)) _, _ = p.HandlePartition( &id.DummyUser, diff --git a/network/message/sendCmix.go b/network/message/sendCmix.go index b802a25fc..1aced6efe 100644 --- a/network/message/sendCmix.go +++ b/network/message/sendCmix.go @@ -22,6 +22,7 @@ import ( "gitlab.com/xx_network/comms/connect" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "strings" "time" ) @@ -54,14 +55,14 @@ func sendCmixHelper(msg format.Message, recipient *id.ID, param params.CMIX, ins session *storage.Session, nodeRegistration chan network.NodeGateway, rng *fastRNG.StreamGenerator, senderId *id.ID, comms sendCmixCommsInterface) (id.Round, ephemeral.Id, error) { - timeStart := time.Now() + timeStart := netTime.Now() attempted := set.New() jww.INFO.Printf("Looking for round to send cMix message to %s "+ "(msgDigest: %s)", recipient, msg.Digest()) for numRoundTries := uint(0); numRoundTries < param.RoundTries; numRoundTries++ { - elapsed := time.Now().Sub(timeStart) + elapsed := netTime.Now().Sub(timeStart) if elapsed > param.Timeout { jww.INFO.Printf("No rounds to send to %s (msgDigest: %s) "+ diff --git a/network/message/sendCmix_test.go b/network/message/sendCmix_test.go index b58a8005c..82b3ebcb2 100644 --- a/network/message/sendCmix_test.go +++ b/network/message/sendCmix_test.go @@ -21,6 +21,7 @@ import ( "gitlab.com/xx_network/crypto/large" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/ndf" + "gitlab.com/xx_network/primitives/netTime" "testing" "time" ) @@ -64,7 +65,7 @@ func Test_attemptSendCmix(t *testing.T) { if err != nil { t.Errorf("Failed to start instance: %+v", err) } - now := time.Now() + now := netTime.Now() nid1 := id.NewIdFromString("zezima", id.Node, t) nid2 := id.NewIdFromString("jakexx360", id.Node, t) nid3 := id.NewIdFromString("westparkhome", id.Node, t) diff --git a/network/message/sendE2E.go b/network/message/sendE2E.go index 3b759b260..780612328 100644 --- a/network/message/sendE2E.go +++ b/network/message/sendE2E.go @@ -16,6 +16,7 @@ import ( "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" "time" ) @@ -26,7 +27,7 @@ func (m *Manager) SendE2E(msg message.Send, param params.E2E) ([]id.Round, e2e.M "message type", msg.MessageType) } //timestamp the message - ts := time.Now() + ts := netTime.Now() //partition the message partitions, internalMsgId, err := m.partitioner.Partition(msg.Recipient, msg.MessageType, ts, diff --git a/network/message/sendUnsafe.go b/network/message/sendUnsafe.go index d039b1872..ef28cf2d7 100644 --- a/network/message/sendUnsafe.go +++ b/network/message/sendUnsafe.go @@ -14,8 +14,8 @@ import ( "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) // WARNING: Unsafe @@ -33,7 +33,7 @@ func (m *Manager) SendUnsafe(msg message.Send, param params.Unsafe) ([]id.Round, msg.MessageType) } //timestamp the message - ts := time.Now() + ts := netTime.Now() //partition the message partitions, _, err := m.partitioner.Partition(msg.Recipient, msg.MessageType, ts, diff --git a/single/manager_test.go b/single/manager_test.go index ff09e8ecd..a9718de7c 100644 --- a/single/manager_test.go +++ b/single/manager_test.go @@ -31,6 +31,7 @@ import ( "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" "gitlab.com/xx_network/primitives/ndf" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "sync" @@ -67,7 +68,7 @@ func TestManager_StartProcesses(t *testing.T) { callback, callbackChan := createReceiveComm() transmitMsg, _, rid, _, err := m.makeTransmitCmixMessage(partner, payload, - tag, 8, 32, 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + tag, 8, 32, 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create tranmission CMIX message: %+v", err) } @@ -107,7 +108,7 @@ func TestManager_StartProcesses(t *testing.T) { m.p.Lock() m.p.singleUse[*rid] = newState(sender.dhKey, sender.maxParts, callbackFunc) m.p.Unlock() - eid, _, _, _ := ephemeral.GetId(partner.ID, id.ArrIDLen, time.Now().UnixNano()) + eid, _, _, _ := ephemeral.GetId(partner.ID, id.ArrIDLen, netTime.Now().UnixNano()) replyMsg := message.Receive{ Payload: replyMsgs[0].Marshal(), MessageType: message.Raw, @@ -153,7 +154,7 @@ func TestManager_StartProcesses_Stop(t *testing.T) { callback, callbackChan := createReceiveComm() transmitMsg, _, rid, _, err := m.makeTransmitCmixMessage(partner, payload, - tag, 8, 32, 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + tag, 8, 32, 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create tranmission CMIX message: %+v", err) } @@ -199,7 +200,7 @@ func TestManager_StartProcesses_Stop(t *testing.T) { m.p.Lock() m.p.singleUse[*rid] = newState(sender.dhKey, sender.maxParts, callbackFunc) m.p.Unlock() - eid, _, _, _ := ephemeral.GetId(partner.ID, id.ArrIDLen, time.Now().UnixNano()) + eid, _, _, _ := ephemeral.GetId(partner.ID, id.ArrIDLen, netTime.Now().UnixNano()) replyMsg := message.Receive{ Payload: replyMsgs[0].Marshal(), MessageType: message.Raw, diff --git a/single/receiveResponse_test.go b/single/receiveResponse_test.go index 2782bc6fc..4e7e8c352 100644 --- a/single/receiveResponse_test.go +++ b/single/receiveResponse_test.go @@ -15,6 +15,7 @@ import ( "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "strings" "testing" @@ -29,7 +30,7 @@ func TestManager_ReceiveResponseHandler(t *testing.T) { partner := NewContact(id.NewIdFromString("recipientID", id.User, t), m.store.E2e().GetGroup().NewInt(43), m.store.E2e().GetGroup().NewInt(42), singleUse.TagFP{}, 8) - ephID, _, _, err := ephemeral.GetId(partner.partner, id.ArrIDLen, time.Now().UnixNano()) + ephID, _, _, err := ephemeral.GetId(partner.partner, id.ArrIDLen, netTime.Now().UnixNano()) payload := make([]byte, 2000) rand.New(rand.NewSource(42)).Read(payload) callback, callbackChan := createReplyComm() @@ -88,7 +89,7 @@ func TestManager_ReceiveResponseHandler_CmixMessageError(t *testing.T) { partner := NewContact(id.NewIdFromString("recipientID", id.User, t), m.store.E2e().GetGroup().NewInt(43), m.store.E2e().GetGroup().NewInt(42), singleUse.TagFP{}, 8) - ephID, _, _, _ := ephemeral.GetId(partner.partner, id.ArrIDLen, time.Now().UnixNano()) + ephID, _, _, _ := ephemeral.GetId(partner.partner, id.ArrIDLen, netTime.Now().UnixNano()) payload := make([]byte, 2000) rand.New(rand.NewSource(42)).Read(payload) callback, callbackChan := createReplyComm() @@ -130,7 +131,7 @@ func TestManager_ReceiveResponseHandler_CmixMessageError(t *testing.T) { func TestManager_processesResponse(t *testing.T) { m := newTestManager(0, false, t) rid := id.NewIdFromString("test RID", id.User, t) - ephID, _, _, err := ephemeral.GetId(rid, id.ArrIDLen, time.Now().UnixNano()) + ephID, _, _, err := ephemeral.GetId(rid, id.ArrIDLen, netTime.Now().UnixNano()) if err != nil { t.Fatalf("Failed to create ephemeral ID: %+v", err) } diff --git a/single/reception_test.go b/single/reception_test.go index 698940662..ffe1991fd 100644 --- a/single/reception_test.go +++ b/single/reception_test.go @@ -7,6 +7,7 @@ import ( "gitlab.com/elixxir/crypto/e2e/singleUse" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "testing" "time" @@ -27,7 +28,7 @@ func TestManager_receiveTransmissionHandler(t *testing.T) { callback, callbackChan := createReceiveComm() msg, _, _, _, err := m.makeTransmitCmixMessage(partner, payload, tag, 8, 32, - 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create tranmission CMIX message: %+v", err) } @@ -92,7 +93,7 @@ func TestManager_receiveTransmissionHandler_FingerPrintError(t *testing.T) { callback, callbackChan := createReceiveComm() msg, _, _, _, err := m.makeTransmitCmixMessage(partner, payload, tag, 8, 32, - 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create tranmission CMIX message: %+v", err) } @@ -129,7 +130,7 @@ func TestManager_receiveTransmissionHandler_ProcessMessageError(t *testing.T) { callback, callbackChan := createReceiveComm() msg, _, _, _, err := m.makeTransmitCmixMessage(partner, payload, tag, 8, 32, - 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create tranmission CMIX message: %+v", err) } @@ -167,7 +168,7 @@ func TestManager_receiveTransmissionHandler_TagFpError(t *testing.T) { rand.New(rand.NewSource(42)).Read(payload) msg, _, _, _, err := m.makeTransmitCmixMessage(partner, payload, tag, 8, 32, - 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create tranmission CMIX message: %+v", err) } @@ -189,7 +190,7 @@ func TestManager_processTransmission(t *testing.T) { payload := []byte("This is the payload.") maxMsgs := uint8(6) cmixMsg, dhKey, rid, _, err := m.makeTransmitCmixMessage(partner, payload, - tag, maxMsgs, 32, 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + tag, maxMsgs, 32, 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to generate expected CMIX message: %+v", err) } @@ -240,7 +241,7 @@ func TestManager_processTransmission_MacVerifyError(t *testing.T) { DhPubKey: m.store.E2e().GetDHPublicKey(), } cmixMsg, _, _, _, err := m.makeTransmitCmixMessage(partner, []byte{}, "", 6, - 32, 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + 32, 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to generate expected CMIX message: %+v", err) } diff --git a/single/transmission.go b/single/transmission.go index 13abe66db..4f7a85048 100644 --- a/single/transmission.go +++ b/single/transmission.go @@ -24,6 +24,7 @@ import ( "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "io" "sync/atomic" "time" @@ -72,7 +73,7 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, // Create new CMIX message containing the transmission payload cmixMsg, dhKey, rid, ephID, err := m.makeTransmitCmixMessage(partner, - payload, tag, MaxMsgs, addressSize, timeout, time.Now(), rng) + payload, tag, MaxMsgs, addressSize, timeout, netTime.Now(), rng) if err != nil { return errors.Errorf("failed to create new CMIX message: %+v", err) } @@ -80,7 +81,7 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, jww.DEBUG.Printf("Created single-use transmission CMIX message with new ID "+ "%s and ephemeral ID %d", rid, ephID.Int64()) - timeStart := time.Now() + timeStart := netTime.Now() // Add message state to map quitChan, quit, err := m.p.addState(rid, dhKey, MaxMsgs, callback, timeout) @@ -139,7 +140,7 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, } // Update the timeout for the elapsed time - roundEventTimeout := timeout - time.Now().Sub(timeStart) - time.Millisecond + roundEventTimeout := timeout - netTime.Now().Sub(timeStart) - time.Millisecond // Check message delivery sendResults := make(chan ds.EventReturn, 1) diff --git a/single/transmission_test.go b/single/transmission_test.go index fe6df60ba..b3697d4fd 100644 --- a/single/transmission_test.go +++ b/single/transmission_test.go @@ -12,6 +12,7 @@ import ( "gitlab.com/elixxir/primitives/states" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "strings" @@ -60,7 +61,7 @@ func TestManager_transmitSingleUse(t *testing.T) { } expectedMsg, _, _, _, err := m.makeTransmitCmixMessage(partner, payload, - tag, maxMsgs, 32, 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + tag, maxMsgs, 32, 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to make expected message: %+v", err) } @@ -204,7 +205,7 @@ func TestManager_transmitSingleUse_AddStateError(t *testing.T) { // Create new CMIX and add a state _, dhKey, rid, _, err := m.makeTransmitCmixMessage(partner, payload, tag, - maxMsgs, 32, 30*time.Second, time.Now(), rand.New(rand.NewSource(42))) + maxMsgs, 32, 30*time.Second, netTime.Now(), rand.New(rand.NewSource(42))) if err != nil { t.Fatalf("Failed to create new CMIX message: %+v", err) } @@ -262,7 +263,7 @@ func TestManager_makeTransmitCmixMessage(t *testing.T) { payload := make([]byte, 132) rand.New(rand.NewSource(42)).Read(payload) maxMsgs := uint8(8) - timeNow := time.Now() + timeNow := netTime.Now() msg, dhKey, rid, _, err := m.makeTransmitCmixMessage(partner, payload, tag, maxMsgs, 32, 30*time.Second, timeNow, prng) @@ -325,7 +326,7 @@ func TestManager_makeTransmitCmixMessage_PayloadTooLargeError(t *testing.T) { rand.New(rand.NewSource(42)).Read(payload) _, _, _, _, err := m.makeTransmitCmixMessage(contact2.Contact{}, payload, "", 8, 32, - 30*time.Second, time.Now(), prng) + 30*time.Second, netTime.Now(), prng) if !check(err, "too long for message payload capacity") { t.Errorf("makeTransmitCmixMessage() failed to error when the payload is too "+ @@ -343,7 +344,7 @@ func TestManager_makeTransmitCmixMessage_KeyGenerationError(t *testing.T) { } _, _, _, _, err := m.makeTransmitCmixMessage(partner, nil, "", 8, 32, - 30*time.Second, time.Now(), prng) + 30*time.Second, netTime.Now(), prng) if !check(err, "failed to generate key in group") { t.Errorf("makeTransmitCmixMessage() failed to error when key "+ @@ -377,7 +378,7 @@ func Test_makeIDs_Consistency(t *testing.T) { t.Fatalf("Failed to set nonce: %+v", err) } - timeNow := time.Now() + timeNow := netTime.Now() rid, ephID, err := makeIDs(&msgPayload, publicKey, addressSize, 30*time.Second, timeNow, rand.New(rand.NewSource(42))) @@ -412,7 +413,7 @@ func Test_makeIDs_NonceError(t *testing.T) { msgPayload := newTransmitMessagePayload(transmitPlMinSize) _, _, err := makeIDs(&msgPayload, &cyclic.Int{}, 32, 30*time.Second, - time.Now(), strings.NewReader("")) + netTime.Now(), strings.NewReader("")) if !check(err, "failed to generate nonce") { t.Errorf("makeIDs() did not return an error when failing to make nonce: %+v", err) } diff --git a/stoppable/cleanup.go b/stoppable/cleanup.go index c721f3605..b76fbbc8d 100644 --- a/stoppable/cleanup.go +++ b/stoppable/cleanup.go @@ -9,6 +9,7 @@ package stoppable import ( "github.com/pkg/errors" + "gitlab.com/xx_network/primitives/netTime" "sync" "sync/atomic" "time" @@ -55,7 +56,7 @@ func (c *Cleanup) Close(timeout time.Duration) error { c.once.Do( func() { defer atomic.StoreUint32(&c.running, 0) - start := time.Now() + start := netTime.Now() // Run the stoppable if err := c.stop.Close(timeout); err != nil { diff --git a/storage/auth/sentRequest.go b/storage/auth/sentRequest.go index 09251401c..779014120 100644 --- a/storage/auth/sentRequest.go +++ b/storage/auth/sentRequest.go @@ -14,7 +14,7 @@ import ( "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentSentRequestVersion = 0 @@ -112,7 +112,7 @@ func (sr *SentRequest) save() error { obj := versioned.Object{ Version: currentSentRequestVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, } diff --git a/storage/auth/store.go b/storage/auth/store.go index 1d8f07443..ed378f836 100644 --- a/storage/auth/store.go +++ b/storage/auth/store.go @@ -18,8 +18,8 @@ import ( "gitlab.com/elixxir/crypto/e2e/auth" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const NoRequest = "Request Not Found" @@ -161,7 +161,7 @@ func (s *Store) save() error { obj := versioned.Object{ Version: requestMapVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, } diff --git a/storage/clientVersion/store.go b/storage/clientVersion/store.go index 3f1eca48a..5b6e951ef 100644 --- a/storage/clientVersion/store.go +++ b/storage/clientVersion/store.go @@ -12,8 +12,8 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/primitives/version" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const ( @@ -105,7 +105,7 @@ func (s *Store) update(newVersion version.Version) error { // save stores the clientVersion store. Note that this function does not take // a lock. func (s *Store) save() error { - timeNow := time.Now() + timeNow := netTime.Now() obj := versioned.Object{ Version: storeVersion, diff --git a/storage/clientVersion/store_test.go b/storage/clientVersion/store_test.go index 22da1257c..72098cffa 100644 --- a/storage/clientVersion/store_test.go +++ b/storage/clientVersion/store_test.go @@ -11,10 +11,10 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" "gitlab.com/elixxir/primitives/version" + "gitlab.com/xx_network/primitives/netTime" "reflect" "strings" "testing" - "time" ) // Happy path. @@ -67,7 +67,7 @@ func TestLoadStore_ParseVersionError(t *testing.T) { kv := versioned.NewKV(make(ekv.Memstore)) obj := versioned.Object{ Version: storeVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("invalid version"), } diff --git a/storage/cmix/key.go b/storage/cmix/key.go index 3a7f6400e..3ab6fc084 100644 --- a/storage/cmix/key.go +++ b/storage/cmix/key.go @@ -12,7 +12,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/xx_network/primitives/id" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentKeyVersion = 0 @@ -65,7 +65,7 @@ func loadKey(kv *versioned.KV, id *id.ID) (*key, error) { // saves the key as the key for the given node ID in the passed keystore func (k *key) save() error { - now := time.Now() + now := netTime.Now() data, err := k.marshal() if err != nil { diff --git a/storage/cmix/store.go b/storage/cmix/store.go index 8a2c514ef..95a67d778 100644 --- a/storage/cmix/store.go +++ b/storage/cmix/store.go @@ -17,8 +17,8 @@ import ( "gitlab.com/elixxir/crypto/diffieHellman" "gitlab.com/xx_network/comms/connect" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const prefix = "cmix" @@ -111,7 +111,7 @@ func (s *Store) Add(nid *id.ID, k *cyclic.Int) { } // Returns if the store has the node -func (s *Store) Has(nid *id.ID)bool { +func (s *Store) Has(nid *id.ID) bool { s.mux.RLock() _, exists := s.nodes[*nid] s.mux.RUnlock() @@ -202,7 +202,7 @@ func (s *Store) Count() int { // save stores the cMix store. func (s *Store) save() error { - now := time.Now() + now := netTime.Now() data, err := s.marshal() if err != nil { diff --git a/storage/conversation/partner.go b/storage/conversation/partner.go index 0fef58be6..8bad184d3 100644 --- a/storage/conversation/partner.go +++ b/storage/conversation/partner.go @@ -13,10 +13,10 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "math" "strings" "sync" - "time" ) const ( @@ -159,7 +159,7 @@ func (c *Conversation) save() error { obj := versioned.Object{ Version: currentConversationVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, } diff --git a/storage/e2e/key_test.go b/storage/e2e/key_test.go index d74f53e17..0f93e69a2 100644 --- a/storage/e2e/key_test.go +++ b/storage/e2e/key_test.go @@ -17,10 +17,10 @@ import ( "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/crypto/large" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "testing" - "time" ) // Happy path of newKey(). @@ -212,7 +212,7 @@ func getSession(t *testing.T) *Session { } func getFingerprint() *format.Fingerprint { - rand.Seed(time.Now().UnixNano()) + rand.Seed(netTime.Now().UnixNano()) fp := format.Fingerprint{} rand.Read(fp[:]) diff --git a/storage/e2e/manager_test.go b/storage/e2e/manager_test.go index 58b0ca6bb..907bbff91 100644 --- a/storage/e2e/manager_test.go +++ b/storage/e2e/manager_test.go @@ -14,10 +14,10 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "testing" - "time" ) // Tests happy path of newManager. @@ -234,7 +234,7 @@ func TestManager_TriggerNegotiations(t *testing.T) { // newTestManager returns a new relationship for testing. func newTestManager(t *testing.T) (*Manager, *versioned.KV) { - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) s, ctx := makeTestSession() kv := versioned.NewKV(make(ekv.Memstore)) partnerID := id.NewIdFromUInts([4]uint64{prng.Uint64(), prng.Uint64(), diff --git a/storage/e2e/relationship.go b/storage/e2e/relationship.go index e2c5bac8f..9678b4db8 100644 --- a/storage/e2e/relationship.go +++ b/storage/e2e/relationship.go @@ -14,8 +14,8 @@ import ( "gitlab.com/elixxir/client/interfaces/params" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const maxUnconfirmed uint = 3 @@ -111,7 +111,7 @@ func LoadRelationship(manager *Manager, t RelationshipType) (*relationship, erro func (r *relationship) save() error { - now := time.Now() + now := netTime.Now() data, err := r.marshal() if err != nil { diff --git a/storage/e2e/relationshipFingerprint.go b/storage/e2e/relationshipFingerprint.go index f071e5ffb..a37026553 100644 --- a/storage/e2e/relationshipFingerprint.go +++ b/storage/e2e/relationshipFingerprint.go @@ -13,7 +13,7 @@ import ( "gitlab.com/elixxir/crypto/cyclic" "gitlab.com/elixxir/crypto/e2e" "gitlab.com/xx_network/primitives/id" - "time" + "gitlab.com/xx_network/primitives/netTime" ) func makeRelationshipFingerprint(t RelationshipType, grp *cyclic.Group, @@ -36,7 +36,7 @@ func makeRelationshipFingerprint(t RelationshipType, grp *cyclic.Group, } func storeRelationshipFingerprint(fp []byte, kv *versioned.KV) error { - now := time.Now() + now := netTime.Now() obj := versioned.Object{ Version: currentRelationshipFingerprintVersion, Timestamp: now, diff --git a/storage/e2e/session.go b/storage/e2e/session.go index db5ff551c..b51c05847 100644 --- a/storage/e2e/session.go +++ b/storage/e2e/session.go @@ -10,11 +10,6 @@ package e2e import ( "encoding/json" "fmt" - "math/big" - "sync" - "testing" - "time" - "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/interfaces/params" @@ -24,6 +19,10 @@ import ( "gitlab.com/elixxir/crypto/hash" "gitlab.com/xx_network/crypto/randomness" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" + "math/big" + "sync" + "testing" ) const currentSessionVersion = 0 @@ -174,7 +173,7 @@ func loadSession(ship *relationship, kv *versioned.KV, func (s *Session) save() error { - now := time.Now() + now := netTime.Now() data, err := s.marshal() if err != nil { diff --git a/storage/e2e/session_test.go b/storage/e2e/session_test.go index 495dc3909..1043dc556 100644 --- a/storage/e2e/session_test.go +++ b/storage/e2e/session_test.go @@ -16,6 +16,7 @@ import ( "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/crypto/csprng" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "reflect" "testing" "time" @@ -460,7 +461,7 @@ func TestSession_SetNegotiationStatus(t *testing.T) { // Normal paths: SetNegotiationStatus should not fail // Use timestamps to determine whether a save has occurred s.negotiationStatus = Sending - now := time.Now() + now := netTime.Now() time.Sleep(time.Millisecond) s.SetNegotiationStatus(Sent) if s.negotiationStatus != Sent { @@ -474,7 +475,7 @@ func TestSession_SetNegotiationStatus(t *testing.T) { t.Errorf("save didn't occur after switching Sending to Sent") } - now = time.Now() + now = netTime.Now() time.Sleep(time.Millisecond) s.SetNegotiationStatus(Confirmed) if s.negotiationStatus != Confirmed { @@ -488,7 +489,7 @@ func TestSession_SetNegotiationStatus(t *testing.T) { t.Errorf("save didn't occur after switching Sent to Confirmed") } - now = time.Now() + now = netTime.Now() time.Sleep(time.Millisecond) s.negotiationStatus = NewSessionTriggered s.SetNegotiationStatus(NewSessionCreated) @@ -505,7 +506,7 @@ func TestSession_SetNegotiationStatus(t *testing.T) { // Reverting paths: SetNegotiationStatus should not fail, and a save should not take place time.Sleep(time.Millisecond) - now = time.Now() + now = netTime.Now() time.Sleep(time.Millisecond) s.negotiationStatus = Sending s.SetNegotiationStatus(Unconfirmed) diff --git a/storage/e2e/stateVector.go b/storage/e2e/stateVector.go index 4a2e6271c..10306ae56 100644 --- a/storage/e2e/stateVector.go +++ b/storage/e2e/stateVector.go @@ -13,8 +13,8 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const currentStateVectorVersion = 0 @@ -79,7 +79,7 @@ func loadStateVector(kv *versioned.KV, key string) (*stateVector, error) { } func (sv *stateVector) save() error { - now := time.Now() + now := netTime.Now() data, err := sv.marshal() if err != nil { diff --git a/storage/e2e/store.go b/storage/e2e/store.go index ae06cb56b..001f077e8 100644 --- a/storage/e2e/store.go +++ b/storage/e2e/store.go @@ -19,8 +19,8 @@ import ( "gitlab.com/elixxir/crypto/fastRNG" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const ( @@ -144,7 +144,7 @@ func LoadStore(kv *versioned.KV, myID *id.ID, rng *fastRNG.StreamGenerator) (*St } func (s *Store) save() error { - now := time.Now() + now := netTime.Now() data, err := s.marshal() if err != nil { diff --git a/storage/partition/multiPartMessage.go b/storage/partition/multiPartMessage.go index 7dc6cbb88..754c52470 100644 --- a/storage/partition/multiPartMessage.go +++ b/storage/partition/multiPartMessage.go @@ -17,6 +17,7 @@ import ( "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" "time" ) @@ -85,7 +86,7 @@ func (mpm *multiPartMessage) save() error { obj := versioned.Object{ Version: currentMultiPartMessageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, } diff --git a/storage/partition/multiPartMessage_test.go b/storage/partition/multiPartMessage_test.go index ec871783b..dff3c0fab 100644 --- a/storage/partition/multiPartMessage_test.go +++ b/storage/partition/multiPartMessage_test.go @@ -15,6 +15,7 @@ import ( "gitlab.com/elixxir/crypto/e2e" "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "testing" @@ -24,7 +25,7 @@ import ( // Tests the creation part of loadOrCreateMultiPartMessage(). func Test_loadOrCreateMultiPartMessage_Create(t *testing.T) { // Set up expected test value - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) expectedMpm := &multiPartMessage{ Sender: id.NewIdFromUInt(prng.Uint64(), id.User, t), MessageID: prng.Uint64(), @@ -60,7 +61,7 @@ func Test_loadOrCreateMultiPartMessage_Create(t *testing.T) { // Tests the loading part of loadOrCreateMultiPartMessage(). func Test_loadOrCreateMultiPartMessage_Load(t *testing.T) { // Set up expected test value - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) expectedMpm := &multiPartMessage{ Sender: id.NewIdFromUInt(prng.Uint64(), id.User, t), MessageID: prng.Uint64(), @@ -115,7 +116,7 @@ func CheckMultiPartMessages(expectedMpm *multiPartMessage, mpm *multiPartMessage // Tests happy path of multiPartMessage.Add(). func TestMultiPartMessage_Add(t *testing.T) { // Generate test values - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) mpm := loadOrCreateMultiPartMessage(id.NewIdFromUInt(prng.Uint64(), id.User, t), prng.Uint64(), versioned.NewKV(make(ekv.Memstore))) partNums, parts := generateParts(prng, 0) @@ -156,13 +157,13 @@ func TestMultiPartMessage_Add(t *testing.T) { // Tests happy path of multiPartMessage.AddFirst(). func TestMultiPartMessage_AddFirst(t *testing.T) { // Generate test values - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) expectedMpm := &multiPartMessage{ Sender: id.NewIdFromUInt(prng.Uint64(), id.User, t), MessageID: prng.Uint64(), NumParts: uint8(prng.Uint32()), PresentParts: 1, - Timestamp: time.Now(), + Timestamp: netTime.Now(), MessageType: message.NoType, parts: make([][]byte, 3), kv: versioned.NewKV(make(ekv.Memstore)), @@ -190,7 +191,7 @@ func TestMultiPartMessage_AddFirst(t *testing.T) { // Tests happy path of multiPartMessage.IsComplete(). func TestMultiPartMessage_IsComplete(t *testing.T) { // Create multiPartMessage and fill with random parts - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) mid := prng.Uint64() mpm := loadOrCreateMultiPartMessage(id.NewIdFromUInt(prng.Uint64(), id.User, t), mid, versioned.NewKV(make(ekv.Memstore))) @@ -202,7 +203,7 @@ func TestMultiPartMessage_IsComplete(t *testing.T) { t.Error("IsComplete() returned true when NumParts == 0.") } - mpm.AddFirst(message.Text, partNums[0], 75, time.Now(), parts[0]) + mpm.AddFirst(message.Text, partNums[0], 75, netTime.Now(), parts[0]) for i := range partNums { if i > 0 { mpm.Add(partNums[i], parts[i]) @@ -237,7 +238,7 @@ func TestMultiPartMessage_IsComplete(t *testing.T) { // Tests happy path of multiPartMessage.delete(). func TestMultiPartMessage_delete(t *testing.T) { - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) kv := versioned.NewKV(make(ekv.Memstore)) mpm := loadOrCreateMultiPartMessage(id.NewIdFromUInt(prng.Uint64(), id.User, t), prng.Uint64(), kv) diff --git a/storage/partition/part.go b/storage/partition/part.go index 66206fd43..9c24861ff 100644 --- a/storage/partition/part.go +++ b/storage/partition/part.go @@ -10,7 +10,7 @@ package partition import ( "fmt" "gitlab.com/elixxir/client/storage/versioned" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentMultiPartMessagePartVersion = 0 @@ -31,7 +31,7 @@ func savePart(kv *versioned.KV, partNum uint8, part []byte) error { obj := versioned.Object{ Version: currentMultiPartMessagePartVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: part, } diff --git a/storage/partition/part_test.go b/storage/partition/part_test.go index 22dfa1115..b1db602f7 100644 --- a/storage/partition/part_test.go +++ b/storage/partition/part_test.go @@ -11,15 +11,15 @@ import ( "bytes" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "testing" - "time" ) // Tests happy path of savePart(). func Test_savePart(t *testing.T) { // Set up test values - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) kv := versioned.NewKV(make(ekv.Memstore)) partNum := uint8(prng.Uint32()) part := make([]byte, prng.Int31n(500)) @@ -48,7 +48,7 @@ func Test_savePart(t *testing.T) { // Tests happy path of loadPart(). func Test_loadPart(t *testing.T) { // Set up test values - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) rootKv := versioned.NewKV(make(ekv.Memstore)) partNum := uint8(prng.Uint32()) part := make([]byte, prng.Int31n(500)) @@ -56,7 +56,7 @@ func Test_loadPart(t *testing.T) { key := makeMultiPartMessagePartKey(partNum) // Save part to key value store - err := rootKv.Set(key, 0, &versioned.Object{Timestamp: time.Now(), Data: part}) + err := rootKv.Set(key, 0, &versioned.Object{Timestamp: netTime.Now(), Data: part}) if err != nil { t.Fatalf("Failed to set object: %v", err) } @@ -78,7 +78,7 @@ func Test_loadPart(t *testing.T) { // key. func Test_loadPart_NotFoundError(t *testing.T) { // Set up test values - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) kv := versioned.NewKV(make(ekv.Memstore)) partNum := uint8(prng.Uint32()) part := make([]byte, prng.Int31n(500)) @@ -100,7 +100,7 @@ func Test_loadPart_NotFoundError(t *testing.T) { // Test happy path of deletePart(). func TestDeletePart(t *testing.T) { // Set up test values - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) kv := versioned.NewKV(make(ekv.Memstore)) partNum := uint8(prng.Uint32()) part := make([]byte, prng.Int31n(500)) diff --git a/storage/partition/store_test.go b/storage/partition/store_test.go index c150d026d..9de6327d9 100644 --- a/storage/partition/store_test.go +++ b/storage/partition/store_test.go @@ -13,9 +13,9 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "reflect" "testing" - "time" ) // Tests happy path of New(). @@ -40,7 +40,7 @@ func TestStore_AddFirst(t *testing.T) { s := New(versioned.NewKV(ekv.Memstore{})) msg, complete := s.AddFirst(id.NewIdFromString("User", id.User, t), - message.Text, 5, 0, 1, time.Now(), part, + message.Text, 5, 0, 1, netTime.Now(), part, []byte{0}) if !complete { @@ -60,7 +60,7 @@ func TestStore_Add(t *testing.T) { s := New(versioned.NewKV(ekv.Memstore{})) msg, complete := s.AddFirst(id.NewIdFromString("User", id.User, t), - message.Text, 5, 0, 2, time.Now(), part1, + message.Text, 5, 0, 2, netTime.Now(), part1, []byte{0}) if complete { diff --git a/storage/reception/identity.go b/storage/reception/identity.go index 65da42ac9..4c65d9696 100644 --- a/storage/reception/identity.go +++ b/storage/reception/identity.go @@ -6,6 +6,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "strconv" "time" ) @@ -58,7 +59,7 @@ func (i Identity) store(kv *versioned.KV) error { // Create versioned object with data obj := &versioned.Object{ Version: identityStorageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: regStr, } diff --git a/storage/reception/identity_test.go b/storage/reception/identity_test.go index 8499050e9..d80b95014 100644 --- a/storage/reception/identity_test.go +++ b/storage/reception/identity_test.go @@ -5,6 +5,7 @@ import ( "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "testing" "time" @@ -15,10 +16,10 @@ func TestIdentity_EncodeDecode(t *testing.T) { r := Identity{ EphId: ephemeral.Id{}, Source: &id.Permissioning, - End: time.Now().Round(0), + End: netTime.Now().Round(0), ExtraChecks: 12, - StartValid: time.Now().Round(0), - EndValid: time.Now().Round(0), + StartValid: netTime.Now().Round(0), + EndValid: netTime.Now().Round(0), RequestMask: 2 * time.Hour, Ephemeral: false, } @@ -44,10 +45,10 @@ func TestIdentity_Delete(t *testing.T) { r := Identity{ EphId: ephemeral.Id{}, Source: &id.Permissioning, - End: time.Now().Round(0), + End: netTime.Now().Round(0), ExtraChecks: 12, - StartValid: time.Now().Round(0), - EndValid: time.Now().Round(0), + StartValid: netTime.Now().Round(0), + EndValid: netTime.Now().Round(0), RequestMask: 2 * time.Hour, Ephemeral: false, } @@ -85,7 +86,7 @@ func TestIdentity_Equal(t *testing.T) { timestamp := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC) a, _ := generateFakeIdentity(rand.New(rand.NewSource(42)), 15, timestamp) b, _ := generateFakeIdentity(rand.New(rand.NewSource(42)), 15, timestamp) - c, _ := generateFakeIdentity(rand.New(rand.NewSource(42)), 15, time.Now()) + c, _ := generateFakeIdentity(rand.New(rand.NewSource(42)), 15, netTime.Now()) if !a.Identity.Equal(b.Identity) { t.Errorf("Equal() found two equal identities as unequal."+ diff --git a/storage/reception/registration.go b/storage/reception/registration.go index d586594f9..70647129c 100644 --- a/storage/reception/registration.go +++ b/storage/reception/registration.go @@ -6,6 +6,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "strconv" "time" ) @@ -25,7 +26,7 @@ func newRegistration(reg Identity, kv *versioned.KV) (*registration, error) { reg.EndValid = reg.EndValid.Round(0) reg.End = reg.End.Round(0) - now := time.Now() + now := netTime.Now() // Do edge checks to determine if the identity is valid if now.After(reg.End) && reg.ExtraChecks < 1 { @@ -73,7 +74,7 @@ func loadRegistration(EphId ephemeral.Id, Source *id.ID, startValid time.Time, r := ®istration{ Identity: reg, kv: kv, - UR: rounds.LoadUnknownRounds(kv,rounds.DefaultUnknownRoundsParams()), + UR: rounds.LoadUnknownRounds(kv, rounds.DefaultUnknownRoundsParams()), ER: rounds.LoadEarliestRound(kv), } diff --git a/storage/reception/registration_test.go b/storage/reception/registration_test.go index e2eff1547..8e9024c46 100644 --- a/storage/reception/registration_test.go +++ b/storage/reception/registration_test.go @@ -3,6 +3,7 @@ package reception import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "strings" "testing" @@ -34,7 +35,7 @@ func TestNewRegistration_Ephemeral(t *testing.T) { id := idu.Identity kv := versioned.NewKV(make(ekv.Memstore)) - id.End = time.Now().Add(1 * time.Hour) + id.End = netTime.Now().Add(1 * time.Hour) id.ExtraChecks = 2 id.Ephemeral = true @@ -57,7 +58,7 @@ func TestNewRegistration_Persistent(t *testing.T) { id := idu.Identity kv := versioned.NewKV(make(ekv.Memstore)) - id.End = time.Now().Add(1 * time.Hour) + id.End = netTime.Now().Add(1 * time.Hour) id.ExtraChecks = 2 id.Ephemeral = false @@ -81,7 +82,7 @@ func TestLoadRegistration(t *testing.T) { id := idu.Identity kv := versioned.NewKV(make(ekv.Memstore)) - id.End = time.Now().Add(1 * time.Hour) + id.End = netTime.Now().Add(1 * time.Hour) id.ExtraChecks = 2 id.Ephemeral = false @@ -107,7 +108,7 @@ func Test_registration_Delete(t *testing.T) { id := idu.Identity kv := versioned.NewKV(make(ekv.Memstore)) - id.End = time.Now().Add(1 * time.Hour) + id.End = netTime.Now().Add(1 * time.Hour) id.ExtraChecks = 2 id.Ephemeral = false diff --git a/storage/reception/store.go b/storage/reception/store.go index 40cc9c0b4..f87ee416a 100644 --- a/storage/reception/store.go +++ b/storage/reception/store.go @@ -10,6 +10,7 @@ import ( "gitlab.com/xx_network/crypto/large" "gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id/ephemeral" + "gitlab.com/xx_network/primitives/netTime" "io" "strconv" "sync" @@ -133,7 +134,7 @@ func (s *Store) save() error { // Create versioned object with data obj := &versioned.Object{ Version: receptionStoreStorageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, } @@ -169,7 +170,7 @@ func (s *Store) GetIdentity(rng io.Reader) (IdentityUse, error) { s.mux.Lock() defer s.mux.Unlock() - now := time.Now() + now := netTime.Now() // Remove any now expired identities s.prune(now) @@ -307,7 +308,7 @@ func (s *Store) UpdateIdSize(idSize uint) { // Store the ID size obj := &versioned.Object{ Version: receptionIDSizeStorageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte(strconv.Itoa(s.idSize)), } @@ -379,7 +380,7 @@ func (s *Store) selectIdentity(rng io.Reader, now time.Time) (IdentityUse, error return IdentityUse{ Identity: selected.Identity, Fake: false, - UR: selected.UR, - ER: selected.ER, + UR: selected.UR, + ER: selected.ER, }, nil } diff --git a/storage/reception/store_test.go b/storage/reception/store_test.go index 70e6f41d5..8779e8f54 100644 --- a/storage/reception/store_test.go +++ b/storage/reception/store_test.go @@ -5,6 +5,7 @@ import ( "encoding/json" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "testing" @@ -49,7 +50,7 @@ func TestLoadStore(t *testing.T) { // Fill active registration with fake identities for i := 0; i < 10; i++ { - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -80,7 +81,7 @@ func TestStore_save(t *testing.T) { // Fill active registration with fake identities for i := 0; i < 10; i++ { - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -119,7 +120,7 @@ func TestStore_makeStoredReferences(t *testing.T) { // Fill active registration with fake identities for i := 0; i < 10; i++ { - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -145,7 +146,7 @@ func TestStore_GetIdentity(t *testing.T) { kv := versioned.NewKV(make(ekv.Memstore)) s := NewStore(kv) prng := rand.New(rand.NewSource(42)) - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -168,7 +169,7 @@ func TestStore_AddIdentity(t *testing.T) { kv := versioned.NewKV(make(ekv.Memstore)) s := NewStore(kv) prng := rand.New(rand.NewSource(42)) - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -188,7 +189,7 @@ func TestStore_RemoveIdentity(t *testing.T) { kv := versioned.NewKV(make(ekv.Memstore)) s := NewStore(kv) prng := rand.New(rand.NewSource(42)) - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -224,7 +225,7 @@ func TestStore_prune(t *testing.T) { expected := make([]*registration, runs/2) for i := 0; i < runs; i++ { - timestamp := time.Now() + timestamp := netTime.Now() if i%2 == 0 { timestamp = timestamp.Add(24 * time.Hour) } @@ -241,7 +242,7 @@ func TestStore_prune(t *testing.T) { } } - s.prune(time.Now().Add(24 * time.Hour)) + s.prune(netTime.Now().Add(24 * time.Hour)) for i, reg := range s.active { if !reg.Equal(expected[i].Identity) { @@ -259,7 +260,7 @@ func TestStore_selectIdentity(t *testing.T) { expectedReg := make([]*registration, runs) for i := 0; i < runs; i++ { - testID, err := generateFakeIdentity(prng, 15, time.Now()) + testID, err := generateFakeIdentity(prng, 15, netTime.Now()) if err != nil { t.Fatalf("Failed to generate fake ID: %+v", err) } @@ -271,7 +272,7 @@ func TestStore_selectIdentity(t *testing.T) { } for i := 0; i < runs; i++ { - idu, err := s.selectIdentity(prng, time.Now()) + idu, err := s.selectIdentity(prng, netTime.Now()) if err != nil { t.Errorf("selectIdentity() produced an error: %+v", err) } diff --git a/storage/regCode.go b/storage/regCode.go index 8e9533395..da0a306d7 100644 --- a/storage/regCode.go +++ b/storage/regCode.go @@ -11,7 +11,7 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const regCodeKey = "regCode" @@ -23,7 +23,7 @@ func (s *Session) SetRegCode(regCode string) { &versioned.Object{ Version: regCodeVersion, Data: []byte(regCode), - Timestamp: time.Now(), + Timestamp: netTime.Now(), }); err != nil { jww.FATAL.Panicf("Failed to set the registration code: %s", err) } diff --git a/storage/regStatus.go b/storage/regStatus.go index ec18a0cfc..dfb2619c8 100644 --- a/storage/regStatus.go +++ b/storage/regStatus.go @@ -12,7 +12,7 @@ import ( "fmt" "github.com/pkg/errors" "gitlab.com/elixxir/client/storage/versioned" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentRegistrationStatusVersion = 0 @@ -59,7 +59,7 @@ func (rs RegistrationStatus) marshalBinary() []byte { func (s *Session) newRegStatus() error { s.regStatus = NotStarted - now := time.Now() + now := netTime.Now() obj := versioned.Object{ Version: currentRegistrationStatusVersion, @@ -98,7 +98,7 @@ func (s *Session) ForwardRegistrationStatus(regStatus RegistrationStatus) error s.regStatus, regStatus) } - now := time.Now() + now := netTime.Now() obj := versioned.Object{ Version: currentRegistrationStatusVersion, diff --git a/storage/rounds/earliestRound.go b/storage/rounds/earliestRound.go index b67fc1d6f..fea486dd9 100644 --- a/storage/rounds/earliestRound.go +++ b/storage/rounds/earliestRound.go @@ -5,8 +5,8 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) const unknownRoundStorageKey = "unknownRoundStorage" @@ -58,7 +58,7 @@ func (ur *EarliestRound) save() { // Create versioned object with data obj := &versioned.Object{ Version: unknownRoundStorageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: urStr, } diff --git a/storage/rounds/unknownRounds.go b/storage/rounds/unknownRounds.go index 703c5b91b..3711b8787 100644 --- a/storage/rounds/unknownRounds.go +++ b/storage/rounds/unknownRounds.go @@ -12,9 +12,9 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "sync" "sync/atomic" - "time" ) const ( @@ -52,7 +52,7 @@ type UnknownRoundsParams struct { func DefaultUnknownRoundsParams() UnknownRoundsParams { return UnknownRoundsParams{ MaxChecks: defaultMaxCheck, - Stored: true, + Stored: true, } } @@ -60,9 +60,9 @@ func DefaultUnknownRoundsParams() UnknownRoundsParams { func NewUnknownRounds(kv *versioned.KV, params UnknownRoundsParams) *UnknownRounds { - urs:= newUnknownRounds(kv, params) + urs := newUnknownRounds(kv, params) - if err := urs.save(); err!=nil{ + if err := urs.save(); err != nil { jww.FATAL.Printf("Failed to store New Unknown Rounds: %+v", err) } @@ -75,7 +75,7 @@ func newUnknownRounds(kv *versioned.KV, // Modify the prefix of the KV kv = kv.Prefix(unknownRoundPrefix) - urs:= &UnknownRounds{ + urs := &UnknownRounds{ rounds: make(map[id.Round]*uint64), params: params, kv: kv, @@ -147,8 +147,8 @@ func (urs *UnknownRounds) Iterate(checker func(rid id.Round) bool, } } - if err := urs.save(); err!=nil{ - jww.FATAL.Panicf("Failed to save unknown reounds after " + + if err := urs.save(); err != nil { + jww.FATAL.Panicf("Failed to save unknown reounds after "+ "edit: %+v", err) } @@ -157,10 +157,10 @@ func (urs *UnknownRounds) Iterate(checker func(rid id.Round) bool, // save stores the unknown rounds store. func (urs *UnknownRounds) save() error { - if !urs.params.Stored{ + if !urs.params.Stored { return nil } - now := time.Now() + now := netTime.Now() // Serialize the map data, err := json.Marshal(urs.rounds) @@ -179,14 +179,12 @@ func (urs *UnknownRounds) save() error { return urs.kv.Set(unknownRoundsStorageKey, unknownRoundsStorageVersion, &obj) } - // save stores the unknown rounds store. -func (urs *UnknownRounds) Delete() { +func (urs *UnknownRounds) Delete() { urs.mux.Lock() defer urs.mux.Unlock() - if urs.params.Stored{ - if err := urs.kv.Delete(unknownRoundPrefix,unknownRoundsStorageVersion); - err!=nil{ + if urs.params.Stored { + if err := urs.kv.Delete(unknownRoundPrefix, unknownRoundsStorageVersion); err != nil { jww.FATAL.Panicf("Failed to delete unknown rounds: %+v", err) } } @@ -198,4 +196,4 @@ func (urs *UnknownRounds) Delete() { // unmarshal loads the serialized round data into the UnknownRounds map func (urs *UnknownRounds) unmarshal(b []byte) error { return json.Unmarshal(b, &urs.rounds) -} \ No newline at end of file +} diff --git a/storage/session_test.go b/storage/session_test.go index 7b0d5ebc7..73fe66a25 100644 --- a/storage/session_test.go +++ b/storage/session_test.go @@ -27,7 +27,7 @@ func TestSession_Smoke(t *testing.T) { err := s.Set("testkey", &versioned.Object{ Version: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("test"), }) if err != nil { diff --git a/storage/user/cryptographic.go b/storage/user/cryptographic.go index c01b6ffa1..592fc9c23 100644 --- a/storage/user/cryptographic.go +++ b/storage/user/cryptographic.go @@ -15,7 +15,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/crypto/signature/rsa" "gitlab.com/xx_network/primitives/id" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentCryptographicIdentityVersion = 0 @@ -112,7 +112,7 @@ func (ci *CryptographicIdentity) save(kv *versioned.KV) error { obj := &versioned.Object{ Version: currentCryptographicIdentityVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: userDataBuffer.Bytes(), } diff --git a/storage/user/regValidationSig.go b/storage/user/regValidationSig.go index 4b5e09957..7440500fc 100644 --- a/storage/user/regValidationSig.go +++ b/storage/user/regValidationSig.go @@ -10,7 +10,7 @@ package user import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentRegValidationSigVersion = 0 @@ -68,7 +68,7 @@ func (u *User) SetTransmissionRegistrationValidationSignature(b []byte) { obj := &versioned.Object{ Version: currentRegValidationSigVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: b, } @@ -95,7 +95,7 @@ func (u *User) SetReceptionRegistrationValidationSignature(b []byte) { obj := &versioned.Object{ Version: currentRegValidationSigVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: b, } diff --git a/storage/user/regValidationSig_test.go b/storage/user/regValidationSig_test.go index c824ad889..68a69f60c 100644 --- a/storage/user/regValidationSig_test.go +++ b/storage/user/regValidationSig_test.go @@ -13,8 +13,8 @@ import ( "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/crypto/signature/rsa" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "testing" - "time" ) // Test User GetRegistrationValidationSignature function @@ -109,7 +109,7 @@ func TestUser_loadRegistrationValidationSignature(t *testing.T) { err = kv.Set(transmissionRegValidationSigKey, currentRegValidationSigVersion, &versioned.Object{ Version: currentRegValidationSigVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: sig, }) if err != nil { @@ -125,7 +125,7 @@ func TestUser_loadRegistrationValidationSignature(t *testing.T) { err = kv.Set(receptionRegValidationSigKey, currentRegValidationSigVersion, &versioned.Object{ Version: currentRegValidationSigVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: sig, }) if err != nil { diff --git a/storage/user/username.go b/storage/user/username.go index 268025e2e..c36e0eba9 100644 --- a/storage/user/username.go +++ b/storage/user/username.go @@ -11,7 +11,7 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentUsernameVersion = 0 @@ -35,7 +35,7 @@ func (u *User) SetUsername(username string) error { obj := &versioned.Object{ Version: currentUsernameVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte(username), } diff --git a/storage/user/username_test.go b/storage/user/username_test.go index 1da1ce0eb..7571d3804 100644 --- a/storage/user/username_test.go +++ b/storage/user/username_test.go @@ -12,8 +12,8 @@ import ( "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/crypto/signature/rsa" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "testing" - "time" ) // Test normal function and errors for User's SetUsername function @@ -94,7 +94,7 @@ func TestUser_loadUsername(t *testing.T) { err = u.kv.Set(usernameKey, currentUsernameVersion, &versioned.Object{ Version: currentUsernameVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte(u1), }) u.loadUsername() diff --git a/storage/utility/NDF.go b/storage/utility/NDF.go index 728ec90c9..e4e6281b2 100644 --- a/storage/utility/NDF.go +++ b/storage/utility/NDF.go @@ -10,7 +10,7 @@ package utility import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/ndf" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentNDFVersion = 0 @@ -35,7 +35,7 @@ func SaveNDF(kv *versioned.KV, key string, ndf *ndf.NetworkDefinition) error { return err } - now := time.Now() + now := netTime.Now() obj := versioned.Object{ Version: currentNDFVersion, diff --git a/storage/utility/cmixMessageBuffer.go b/storage/utility/cmixMessageBuffer.go index 367d4fd53..6091c65bc 100644 --- a/storage/utility/cmixMessageBuffer.go +++ b/storage/utility/cmixMessageBuffer.go @@ -15,7 +15,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentCmixMessageVersion = 0 @@ -45,7 +45,7 @@ func (cmh *cmixMessageHandler) SaveMessage(kv *versioned.KV, m interface{}, key // Create versioned object obj := versioned.Object{ Version: currentCmixMessageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: sm.Marshal(), } diff --git a/storage/utility/cmixMessageBuffer_test.go b/storage/utility/cmixMessageBuffer_test.go index f884d73d7..b015cb2c6 100644 --- a/storage/utility/cmixMessageBuffer_test.go +++ b/storage/utility/cmixMessageBuffer_test.go @@ -13,10 +13,10 @@ import ( "gitlab.com/elixxir/ekv" "gitlab.com/elixxir/primitives/format" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "testing" - "time" ) // Test happy path of cmixMessageHandler.SaveMessage(). @@ -159,7 +159,7 @@ func TestCmixMessageBuffer_Smoke(t *testing.T) { // expected map after they are added to the buffer. func makeTestCmixMessages(n int) ([]format.Message, []*id.ID, map[MessageHash]struct{}) { cmh := &cmixMessageHandler{} - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) mh := map[MessageHash]struct{}{} msgs := make([]format.Message, n) ids := make([]*id.ID, n) diff --git a/storage/utility/contact.go b/storage/utility/contact.go index cef79e2ff..89b9b3154 100644 --- a/storage/utility/contact.go +++ b/storage/utility/contact.go @@ -12,13 +12,13 @@ import ( "gitlab.com/elixxir/client/interfaces/contact" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentContactVersion = 0 func StoreContact(kv *versioned.KV, c contact.Contact) error { - now := time.Now() + now := netTime.Now() obj := versioned.Object{ Version: currentContactVersion, diff --git a/storage/utility/dh.go b/storage/utility/dh.go index ea2f6296d..9b0280ed1 100644 --- a/storage/utility/dh.go +++ b/storage/utility/dh.go @@ -10,13 +10,13 @@ package utility import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentCyclicVersion = 0 func StoreCyclicKey(kv *versioned.KV, cy *cyclic.Int, key string) error { - now := time.Now() + now := netTime.Now() data, err := cy.GobEncode() if err != nil { diff --git a/storage/utility/e2eMessageBuffer.go b/storage/utility/e2eMessageBuffer.go index 9f0d3f417..b8de8f65d 100644 --- a/storage/utility/e2eMessageBuffer.go +++ b/storage/utility/e2eMessageBuffer.go @@ -16,8 +16,7 @@ import ( "gitlab.com/elixxir/client/interfaces/params" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/xx_network/primitives/id" - - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentE2EMessageVersion = 0 @@ -44,7 +43,7 @@ func (emh *e2eMessageHandler) SaveMessage(kv *versioned.KV, m interface{}, key s // Create versioned object obj := versioned.Object{ Version: currentE2EMessageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: b, } diff --git a/storage/utility/e2eMessageBuffer_test.go b/storage/utility/e2eMessageBuffer_test.go index aa7366ced..0aca79126 100644 --- a/storage/utility/e2eMessageBuffer_test.go +++ b/storage/utility/e2eMessageBuffer_test.go @@ -14,10 +14,10 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" "gitlab.com/xx_network/primitives/id" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "reflect" "testing" - "time" ) // Test happy path of e2eMessageHandler.SaveMessage(). @@ -155,7 +155,7 @@ func TestE2EMessageHandler_Smoke(t *testing.T) { // makeTestE2EMessages creates a list of messages with random data and the // expected map after they are added to the buffer. func makeTestE2EMessages(n int, t *testing.T) ([]e2eMessage, []message.Send) { - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) msgs := make([]e2eMessage, n) send := make([]message.Send, n) for i := range msgs { diff --git a/storage/utility/group.go b/storage/utility/group.go index 20a05e837..2b2e40678 100644 --- a/storage/utility/group.go +++ b/storage/utility/group.go @@ -10,13 +10,13 @@ package utility import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/crypto/cyclic" - "time" + "gitlab.com/xx_network/primitives/netTime" ) const currentGroupVersion = 0 func StoreGroup(kv *versioned.KV, grp *cyclic.Group, key string) error { - now := time.Now() + now := netTime.Now() data, err := grp.GobEncode() if err != nil { diff --git a/storage/utility/knownRounds.go b/storage/utility/knownRounds.go index 5b57c2948..85203145b 100644 --- a/storage/utility/knownRounds.go +++ b/storage/utility/knownRounds.go @@ -61,7 +61,7 @@ func LoadKnownRounds(kv *versioned.KV, key string, size int) (*KnownRounds, erro // save saves the round buffer as a versioned object to the key value store. func (kr *KnownRounds) save() error { - now := time.Now() + now := netTime.Now() // Marshal list of rounds data, err := kr.rounds.Marshal() diff --git a/storage/utility/messageBuffer.go b/storage/utility/messageBuffer.go index c37255d88..31af9f7f2 100644 --- a/storage/utility/messageBuffer.go +++ b/storage/utility/messageBuffer.go @@ -13,8 +13,8 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/primitives/format" + "gitlab.com/xx_network/primitives/netTime" "sync" - "time" ) // MessageHash stores the hash of a message, which is used as the key for each @@ -106,7 +106,7 @@ func LoadMessageBuffer(kv *versioned.KV, handler MessageHandler, // are in the "not processed" or "processing" state are stored together and // considered "not processed". func (mb *MessageBuffer) save() error { - now := time.Now() + now := netTime.Now() // Build a combined list of message hashes in messages + processingMessages allMessages := mb.getMessageList() diff --git a/storage/utility/messageBuffer_test.go b/storage/utility/messageBuffer_test.go index f331078fd..fc4de8be8 100644 --- a/storage/utility/messageBuffer_test.go +++ b/storage/utility/messageBuffer_test.go @@ -13,11 +13,11 @@ import ( "encoding/json" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "os" "reflect" "testing" - "time" ) type testHandler struct { @@ -294,7 +294,7 @@ func TestMessageBuffer_Failed(t *testing.T) { // addTestMessages adds random messages to the buffer. func addTestMessages(mb *MessageBuffer, n int) []MessageHash { - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) msgs := make([]MessageHash, n) for i := 0; i < n; i++ { keyData := make([]byte, 16) @@ -337,7 +337,7 @@ func cmpMessageHash(arrA, arrB []MessageHash) bool { // makeTestMessages creates a list of messages with random data and the expected // map after they are added to the buffer. func makeTestMessages(n int) ([][]byte, map[MessageHash]struct{}) { - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) mh := map[MessageHash]struct{}{} msgs := make([][]byte, n) for i := range msgs { diff --git a/storage/utility/meteredCmixMessageBuffer.go b/storage/utility/meteredCmixMessageBuffer.go index e4b7ab4fb..719faa388 100644 --- a/storage/utility/meteredCmixMessageBuffer.go +++ b/storage/utility/meteredCmixMessageBuffer.go @@ -14,6 +14,7 @@ import ( jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/primitives/format" + "gitlab.com/xx_network/primitives/netTime" "time" ) @@ -40,7 +41,7 @@ func (*meteredCmixMessageHandler) SaveMessage(kv *versioned.KV, m interface{}, k // Create versioned object obj := versioned.Object{ Version: currentMeteredCmixMessageVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: marshaled, } @@ -111,7 +112,7 @@ func (mcmb *MeteredCmixMessageBuffer) Add(m format.Message) { msg := meteredCmixMessage{ M: m.Marshal(), Count: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), } mcmb.mb.Add(msg) } @@ -120,7 +121,7 @@ func (mcmb *MeteredCmixMessageBuffer) AddProcessing(m format.Message) { msg := meteredCmixMessage{ M: m.Marshal(), Count: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), } mcmb.mb.AddProcessing(msg) } diff --git a/storage/utility/meteredCmixMessageBuffer_test.go b/storage/utility/meteredCmixMessageBuffer_test.go index bd2edcd25..a8116a723 100644 --- a/storage/utility/meteredCmixMessageBuffer_test.go +++ b/storage/utility/meteredCmixMessageBuffer_test.go @@ -13,6 +13,7 @@ import ( "gitlab.com/elixxir/client/storage/versioned" "gitlab.com/elixxir/ekv" "gitlab.com/elixxir/primitives/format" + "gitlab.com/xx_network/primitives/netTime" "math/rand" "testing" "time" @@ -188,7 +189,7 @@ func Test_meteredCmixMessageHandler_Smoke(t *testing.T) { // expected map after they are added to the buffer. func makeTestMeteredCmixMessage(n int) ([]meteredCmixMessage, map[MessageHash]struct{}) { mcmh := &meteredCmixMessageHandler{} - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) mh := map[MessageHash]struct{}{} msgs := make([]meteredCmixMessage, n) for i := range msgs { @@ -207,7 +208,7 @@ func makeTestMeteredCmixMessage(n int) ([]meteredCmixMessage, map[MessageHash]st // makeTestFormatMessages creates a list of messages with random data. func makeTestFormatMessages(n int) []format.Message { - prng := rand.New(rand.NewSource(time.Now().UnixNano())) + prng := rand.New(rand.NewSource(netTime.Now().UnixNano())) msgs := make([]format.Message, n) for i := range msgs { msgs[i] = format.NewMessage(128) diff --git a/storage/versioned/kv_test.go b/storage/versioned/kv_test.go index 58ec70ad4..393078152 100644 --- a/storage/versioned/kv_test.go +++ b/storage/versioned/kv_test.go @@ -10,10 +10,9 @@ package versioned import ( "bytes" "errors" - "testing" - "time" - "gitlab.com/elixxir/ekv" + "gitlab.com/xx_network/primitives/netTime" + "testing" ) // KV Get should call the Upgrade function when it's available @@ -40,7 +39,7 @@ func TestVersionedKV_GetUpgrade(t *testing.T) { key := vkv.GetFullKey("test", 0) original := Object{ Version: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("not upgraded"), } originalSerialized := original.Marshal() @@ -49,7 +48,7 @@ func TestVersionedKV_GetUpgrade(t *testing.T) { upgrade := []Upgrade{func(oldObject *Object) (*Object, error) { return &Object{ Version: 1, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("this object was upgraded from v0 to v1"), }, nil }} @@ -77,7 +76,7 @@ func TestVersionedKV_GetUpgrade_KeyNotFound(t *testing.T) { upgrade := []Upgrade{func(oldObject *Object) (*Object, error) { return &Object{ Version: 1, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("this object was upgraded from v0 to v1"), }, nil }} @@ -97,7 +96,7 @@ func TestVersionedKV_GetUpgrade_UpgradeReturnsError(t *testing.T) { key := vkv.GetFullKey("test", 0) original := Object{ Version: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("not upgraded"), } originalSerialized := original.Marshal() @@ -125,7 +124,7 @@ func TestVersionedKV_Delete(t *testing.T) { key := vkv.GetFullKey("test", 0) original := Object{ Version: 0, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("not upgraded"), } originalSerialized := original.Marshal() @@ -151,7 +150,7 @@ func TestVersionedKV_Get(t *testing.T) { key := vkv.GetFullKey("test", originalVersion) original := Object{ Version: originalVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("not upgraded"), } originalSerialized := original.Marshal() @@ -176,7 +175,7 @@ func TestVersionedKV_Set(t *testing.T) { key := vkv.GetFullKey("test", originalVersion) original := Object{ Version: originalVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: []byte("not upgraded"), } err := vkv.Set("test", originalVersion, &original) diff --git a/ud/registered.go b/ud/registered.go index 8191f2667..d81e61589 100644 --- a/ud/registered.go +++ b/ud/registered.go @@ -5,8 +5,8 @@ import ( "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" "gitlab.com/elixxir/client/storage/versioned" + "gitlab.com/xx_network/primitives/netTime" "sync/atomic" - "time" ) const isRegisteredKey = "isRegisteredKey" @@ -44,7 +44,7 @@ func (m *Manager) setRegistered() error { obj := &versioned.Object{ Version: isRegisteredVersion, - Timestamp: time.Now(), + Timestamp: netTime.Now(), Data: data, } -- GitLab