update to latest library versions, again

This commit is contained in:
Jonathan Barrow
2023-10-10 18:16:33 -04:00
parent 9192524d52
commit da509aac43
33 changed files with 234 additions and 131 deletions

View File

@@ -1,6 +1,7 @@
package globals
import (
presign_post "github.com/PretendoNetwork/aws-sdk-presigned-post-go"
"github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/plogger-go"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
@@ -10,5 +11,5 @@ import (
var Logger = plogger.NewLogger()
var NEXServer *nex.Server
var S3Client *s3.Client
var HMACSecret []byte
var S3PresignClient *presign_post.PresignClient
var DataStoreIDGenerators []*database.DataStoreIDGenerator

57
go.mod
View File

@@ -3,32 +3,40 @@ module github.com/PretendoNetwork/super-mario-maker-secure
go 1.19
require (
github.com/PretendoNetwork/nex-go v1.0.29
github.com/PretendoNetwork/nex-protocols-common-go v1.0.23
github.com/PretendoNetwork/nex-protocols-go v1.0.41
github.com/PretendoNetwork/plogger-go v1.0.3
github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0
github.com/gocql/gocql v1.5.2
github.com/PretendoNetwork/aws-sdk-presigned-post-go v1.0.0
github.com/PretendoNetwork/nex-go v1.0.41
github.com/PretendoNetwork/nex-protocols-common-go v1.0.28
github.com/PretendoNetwork/nex-protocols-go v1.0.54
github.com/PretendoNetwork/plogger-go v1.0.4
github.com/aws/aws-sdk-go-v2 v1.21.1
github.com/aws/aws-sdk-go-v2/config v1.18.44
github.com/aws/aws-sdk-go-v2/credentials v1.13.42
github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1
github.com/gocql/gocql v1.6.0
github.com/joho/godotenv v1.5.1
go.mongodb.org/mongo-driver v1.12.0
go.mongodb.org/mongo-driver v1.12.1
)
require (
github.com/aws/aws-sdk-go-v2 v1.19.0 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.30 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4 // indirect
github.com/aws/smithy-go v1.13.5 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.15.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.23.1 // indirect
github.com/aws/smithy-go v1.15.0 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect
github.com/jwalton/go-supportscolor v1.2.0 // indirect
github.com/klauspost/compress v1.16.7 // indirect
github.com/klauspost/compress v1.17.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/montanaflynn/stats v0.7.1 // indirect
@@ -37,11 +45,12 @@ require (
github.com/xdg-go/scram v1.1.2 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect
golang.org/x/crypto v0.11.0 // indirect
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/term v0.10.0 // indirect
golang.org/x/text v0.11.0 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/mod v0.13.0 // indirect
golang.org/x/sync v0.4.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/term v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
)

114
go.sum
View File

@@ -1,33 +1,49 @@
github.com/PretendoNetwork/nex-go v1.0.29 h1:Mu/UGpYEt0YHgJR/l+8Ysc5rlX91NE86ab3sMSKpPWo=
github.com/PretendoNetwork/nex-go v1.0.29/go.mod h1:tWfWhrC/DCJuS08jTk0ceOv2R1VtElvKSVv13To6miE=
github.com/PretendoNetwork/nex-protocols-common-go v1.0.23 h1:5nhsCg0NtJ+Wlq4eAxLkpazsBDWOnSHLgpllW3XUeE0=
github.com/PretendoNetwork/nex-protocols-common-go v1.0.23/go.mod h1:WqdDoCdjAHg4cdnIGJCrBQUX/JQIJHbw0D5oQWZ8mfk=
github.com/PretendoNetwork/nex-protocols-go v1.0.41 h1:f4AJxoIgKt5k22IcYF/SM5MazR0/34hmyflZkFt/Hug=
github.com/PretendoNetwork/nex-protocols-go v1.0.41/go.mod h1:DPRCNkz45onV4ySCRJNp2+69NQnRa+SRqeErsnjW6P4=
github.com/PretendoNetwork/plogger-go v1.0.3 h1:KEnrUfPaCn0LFweg8OrhtiDhlN3pclWpNhlmAtmgfB0=
github.com/PretendoNetwork/plogger-go v1.0.3/go.mod h1:7kD6M4vPq1JL4LTuPg6kuB1OvUBOwQOtAvTaUwMbwvU=
github.com/aws/aws-sdk-go-v2 v1.19.0 h1:klAT+y3pGFBU/qVf1uzwttpBbiuozJYWzNLHioyDJ+k=
github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 h1:hMUCiE3Zi5AHrRNGf5j985u0WyqI6r2NULhUfo0N/No=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 h1:yOpYx+FTBdpk/g+sBU6Cb1H0U/TLEcYYp66mYqsPpcc=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27 h1:cZG7psLfqpkB6H+fIrgUDWmlzM474St1LP0jcz272yI=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.27/go.mod h1:ZdjYvJpDlefgh8/hWelJhqgqJeodxu4SmbVsSdBlL7E=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.30 h1:Bje8Xkh2OWpjBdNfXLrnn8eZg569dUQmhgtydxAYyP0=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.30/go.mod h1:qQtIBl5OVMfmeQkz8HaVyh5DzFmmFXyvK27UgIgOr4c=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 h1:IiDolu/eLmuB18DRZibj77n1hHQT7z12jnGO7Ze3pLc=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29/go.mod h1:fDbkK4o7fpPXWn8YAPmTieAMuB9mk/VgvW64uaUqxd4=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4 h1:hx4WksB0NRQ9utR+2c3gEGzl6uKj3eM6PMQ6tN3lgXs=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.4/go.mod h1:JniVpqvw90sVjNqanGLufrVapWySL28fhBlYgl96Q/w=
github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0 h1:PalLOEGZ/4XfQxpGZFTLaoJSmPoybnqJYotaIZEf/Rg=
github.com/aws/aws-sdk-go-v2/service/s3 v1.37.0/go.mod h1:PwyKKVL0cNkC37QwLcrhyeCrAk+5bY8O2ou7USyAS2A=
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
github.com/PretendoNetwork/aws-sdk-presigned-post-go v1.0.0 h1:YWJpAUpZvTXv+GAplbF6gmR7HGN/uAX2LhHseASYFCI=
github.com/PretendoNetwork/aws-sdk-presigned-post-go v1.0.0/go.mod h1:EflPd+1O5Hr5gfGDlWHPL87XkpAMbSFEQY+/NzoWuT4=
github.com/PretendoNetwork/nex-go v1.0.41 h1:TcBb1Bpe2KAB+AXaGX1K9NVQBRtZJIoy4yCvRde2xbI=
github.com/PretendoNetwork/nex-go v1.0.41/go.mod h1:QwHEa165DeVd0xIuthrgc3j6NWXT8lyPSG6t5kC/Shk=
github.com/PretendoNetwork/nex-protocols-common-go v1.0.28 h1:ErkWga7Uzn4WoDU8Q/Sy+geHy0fF0G/5wFnL5i6hngI=
github.com/PretendoNetwork/nex-protocols-common-go v1.0.28/go.mod h1:4jYhLg+Cb2qhJHyyA+f2OwCrmc98zuTO3JPWK22mIKw=
github.com/PretendoNetwork/nex-protocols-go v1.0.54 h1:nDbGnNpe7F/cwBZBvFFFPS1afZQ4OLpVHfF8t5xug/Y=
github.com/PretendoNetwork/nex-protocols-go v1.0.54/go.mod h1:136762CMIcAsTZDrt4W7gDE4ppiBuc9zN2QFOHESjS8=
github.com/PretendoNetwork/plogger-go v1.0.4 h1:PF7xHw9eDRHH+RsAP9tmAE7fG0N0p6H4iPwHKnsoXwc=
github.com/PretendoNetwork/plogger-go v1.0.4/go.mod h1:7kD6M4vPq1JL4LTuPg6kuB1OvUBOwQOtAvTaUwMbwvU=
github.com/aws/aws-sdk-go-v2 v1.21.1 h1:wjHYshtPpYOZm+/mu3NhVgRRc0baM6LJZOmxPZ5Cwzs=
github.com/aws/aws-sdk-go-v2 v1.21.1/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY=
github.com/aws/aws-sdk-go-v2/config v1.18.44 h1:U10NQ3OxiY0dGGozmVIENIDnCT0W432PWxk2VO8wGnY=
github.com/aws/aws-sdk-go-v2/config v1.18.44/go.mod h1:pHxnQBldd0heEdJmolLBk78D1Bf69YnKLY3LOpFImlU=
github.com/aws/aws-sdk-go-v2/credentials v1.13.42 h1:KMkjpZqcMOwtRHChVlHdNxTUUAC6NC/b58mRZDIdcRg=
github.com/aws/aws-sdk-go-v2/credentials v1.13.42/go.mod h1:7ltKclhvEB8305sBhrpls24HGxORl6qgnQqSJ314Uw8=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12 h1:3j5lrl9kVQrJ1BU4O0z7MQ8sa+UXdiLuo4j0V+odNI8=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.12/go.mod h1:JbFpcHDBdsex1zpIKuVRorZSQiZEyc3MykNCcjgz174=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42 h1:817VqVe6wvwE46xXy6YF5RywvjOX6U2zRQQ6IbQFK0s=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42/go.mod h1:oDfgXoBBmj+kXnqxDDnIDnC56QBosglKp8ftRCTxR+0=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36 h1:7ZApaXzWbo8slc+W5TynuUlB4z66g44h7uqa3/d/BsY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36/go.mod h1:rwr4WnmFi3RJO0M4dxbJtgi9BPLMpVBMX1nUte5ha9U=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44 h1:quOJOqlbSfeJTboXLjYXM1M9T52LBXqLoTPlmsKLpBo=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.44/go.mod h1:LNy+P1+1LiRcCsVYr/4zG5n8zWFL0xsvZkOybjbftm8=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5 h1:8JG9ny0BqBDzmtIzbpaN+eke152ZNsYKApFJ/q29Hxo=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.5/go.mod h1:kEDHQApP/ukMO9natNftgUN3NaTsMxK6jb2jjpSMX7Y=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 h1:7R8uRYyXzdD71KWVCL78lJZltah6VVznXBazvKjfH58=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15/go.mod h1:26SQUPcTNgV1Tapwdt4a1rOsYRsnBsJHLMPoxK2b0d8=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37 h1:Mx1zJlYbiUQANWT40koevLvxawGFolmkaP4m+LuyG7M=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.37/go.mod h1:PjKIAMFthKPgG/B8bbRpo3F8jfr2q2L+w3u78jJ12a0=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36 h1:YXlm7LxwNlauqb2OrinWlcvtsflTzP8GaMvYfQBhoT4=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.36/go.mod h1:ou9ffqJ9hKOVZmjlC6kQ6oROAyG1M4yBKzR+9BKbDwk=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5 h1:sAAz28SeA7YZl8Yaphjs9tlLsflhdniQPjf3X2cqr4s=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.5/go.mod h1:HC7gNz3VH0p+RvLKK+HqNQv/gHy+1Os3ko/F41s3+aw=
github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1 h1:FqIaVPbs2W8U3fszl2PCL1IDKeRdM7TssjWamL6b2mg=
github.com/aws/aws-sdk-go-v2/service/s3 v1.40.1/go.mod h1:X0e0NCAx4GjOrKro7s9QYy+YEIFhgCkt6gYKVKhZB5Y=
github.com/aws/aws-sdk-go-v2/service/sso v1.15.1 h1:ZN3bxw9OYC5D6umLw6f57rNJfGfhg1DIAAcKpzyUTOE=
github.com/aws/aws-sdk-go-v2/service/sso v1.15.1/go.mod h1:PieckvBoT5HtyB9AsJRrYZFY2Z+EyfVM/9zG6gbV8DQ=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2 h1:fSCCJuT5i6ht8TqGdZc5Q5K9pz/atrf7qH4iK5C9XzU=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.2/go.mod h1:5eNtr+vNc5vVd92q7SJ+U/HszsIdhZBEyi9dkMRKsp8=
github.com/aws/aws-sdk-go-v2/service/sts v1.23.1 h1:ASNYk1ypWAxRhJjKS0jBnTUeDl7HROOpeSMu1xDA/I8=
github.com/aws/aws-sdk-go-v2/service/sts v1.23.1/go.mod h1:2cnsAhVT3mqusovc2stUSUrSBGTcX9nh8Tu6xh//2eI=
github.com/aws/smithy-go v1.15.0 h1:PS/durmlzvAFpQHDs4wi4sNNP9ExsqZh6IlfdHXgKK8=
github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY=
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
@@ -37,8 +53,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
github.com/gocql/gocql v1.5.2 h1:WnKf8xRQImcT/KLaEWG2pjEeryDB7K0qQN9mPs1C58Q=
github.com/gocql/gocql v1.5.2/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8=
github.com/gocql/gocql v1.6.0 h1:IdFdOTbnpbd0pDhl4REKQDM+Q0SzKXQ1Yh+YZZ8T/qU=
github.com/gocql/gocql v1.6.0/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
@@ -55,8 +71,8 @@ github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwA
github.com/jwalton/go-supportscolor v1.2.0 h1:g6Ha4u7Vm3LIsQ5wmeBpS4gazu0UP1DRDE8y6bre4H8=
github.com/jwalton/go-supportscolor v1.2.0/go.mod h1:hFVUAZV2cWg+WFFC4v8pT2X/S2qUUBYMioBD9AINXGs=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM=
github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -85,17 +101,19 @@ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7Jul
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk=
github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.mongodb.org/mongo-driver v1.12.0 h1:aPx33jmn/rQuJXPQLZQ8NtfPQG8CaqgLThFtqRb0PiE=
go.mongodb.org/mongo-driver v1.12.0/go.mod h1:AZkxhPnFJUoH7kZlFkVKucV20K387miPfm7oimrSmK0=
go.mongodb.org/mongo-driver v1.12.1 h1:nLkghSU8fQNaK7oUmDhQFsnrtcoNy7Z6LVFKsEecqgE=
go.mongodb.org/mongo-driver v1.12.1/go.mod h1:/rGBTebI3XYboVmgz+Wv3Bcbl3aD0QF9zl6kDDw18rQ=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1 h1:MGwJjxBy0HJshjDNfLsYO8xppfqWlA5ZT9OhtUUhTNw=
golang.org/x/exp v0.0.0-20230713183714-613f0c0eb8a1/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
@@ -103,8 +121,8 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -115,21 +133,21 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c=
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

30
init.go
View File

@@ -1,12 +1,17 @@
package main
import (
"io/ioutil"
"context"
"log"
"os"
"runtime"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/credentials"
"github.com/aws/aws-sdk-go-v2/service/s3"
"github.com/joho/godotenv"
)
@@ -18,11 +23,32 @@ func init() {
log.Fatal("Error loading .env file")
}
globals.HMACSecret, err = ioutil.ReadFile("secret.key")
s3Endpoint := os.Getenv("PN_SMM_CONFIG_S3_ENDPOINT")
s3Region := os.Getenv("PN_SMM_CONFIG_S3_REGION")
s3AccessKey := os.Getenv("PN_SMM_CONFIG_S3_ACCESS_KEY")
s3AccessSecret := os.Getenv("PN_SMM_CONFIG_S3_ACCESS_SECRET")
staticCredentials := credentials.NewStaticCredentialsProvider(s3AccessKey, s3AccessSecret, "")
endpointResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) {
return aws.Endpoint{
URL: s3Endpoint,
}, nil
})
cfg, err := config.LoadDefaultConfig(
context.TODO(),
config.WithRegion(s3Region),
config.WithCredentialsProvider(staticCredentials),
config.WithEndpointResolverWithOptions(endpointResolver),
)
if err != nil {
panic(err)
}
globals.S3Client = s3.NewFromConfig(cfg)
// Connect to and setup databases
database.ConnectAll()
createDataStoreIDGenerators()

View File

@@ -2,12 +2,12 @@ package nex_datastore
import (
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func ChangeMeta(err error, client *nex.Client, callID uint32, dataStoreChangeMetaParam *datastore_types.DataStoreChangeMetaParam) {
func ChangeMeta(err error, client *nex.Client, callID uint32, dataStoreChangeMetaParam *datastore_types.DataStoreChangeMetaParam) uint32 {
// STUBBED
// TODO: DO SOMETHING WITH THE DATA
rmcResponse := nex.NewRMCResponse(datastore.ProtocolID, callID)
@@ -27,4 +27,6 @@ func ChangeMeta(err error, client *nex.Client, callID uint32, dataStoreChangeMet
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -2,12 +2,12 @@ package nex_datastore
import (
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func CompletePostObject(err error, client *nex.Client, callID uint32, dataStoreCompletePostParam *datastore_types.DataStoreCompletePostParam) {
func CompletePostObject(err error, client *nex.Client, callID uint32, dataStoreCompletePostParam *datastore_types.DataStoreCompletePostParam) uint32 {
// TODO: DO SOMETHING WITH THE DATA
rmcResponse := nex.NewRMCResponse(datastore.ProtocolID, callID)
@@ -27,4 +27,6 @@ func CompletePostObject(err error, client *nex.Client, callID uint32, dataStoreC
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -5,14 +5,14 @@ import (
"os"
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func GetMeta(err error, client *nex.Client, callID uint32, param *datastore_types.DataStoreGetMetaParam) {
func GetMeta(err error, client *nex.Client, callID uint32, param *datastore_types.DataStoreGetMetaParam) uint32 {
switch param.DataID {
case 0: // Mii Data
getMetaMiiData(client, callID, param)
@@ -21,6 +21,8 @@ func GetMeta(err error, client *nex.Client, callID uint32, param *datastore_type
default:
fmt.Printf("[Warning] DataStoreProtocol::GetMeta Unsupported dataId: %v\n", param.DataID)
}
return 0
}
func getMetaMiiData(client *nex.Client, callID uint32, param *datastore_types.DataStoreGetMetaParam) {

View File

@@ -4,14 +4,14 @@ import (
"fmt"
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func GetMetasMultipleParam(err error, client *nex.Client, callID uint32, params []*datastore_types.DataStoreGetMetaParam) {
func GetMetasMultipleParam(err error, client *nex.Client, callID uint32, params []*datastore_types.DataStoreGetMetaParam) uint32 {
pMetaInfo := make([]*datastore_types.DataStoreMetaInfo, 0)
pResults := make([]uint32, 0)
@@ -49,6 +49,8 @@ func GetMetasMultipleParam(err error, client *nex.Client, callID uint32, params
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}
func getMetasMultipleParamMiiData(param *datastore_types.DataStoreGetMetaParam) *datastore_types.DataStoreMetaInfo {

View File

@@ -5,18 +5,23 @@ import (
"os"
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func PrepareGetObject(err error, client *nex.Client, callID uint32, dataStorePrepareGetParam *datastore_types.DataStorePrepareGetParam) {
func PrepareGetObject(err error, client *nex.Client, callID uint32, dataStorePrepareGetParam *datastore_types.DataStorePrepareGetParam) uint32 {
pReqGetInfo := datastore_types.NewDataStoreReqGetInfo()
bucket := os.Getenv("PN_SMM_CONFIG_S3_BUCKET")
if dataStorePrepareGetParam.DataID == 900000 {
objectSize, _ := utility.S3ObjectSize(os.Getenv("S3_BUCKET_NAME"), "special/900000.bin")
objectSize, err := utility.S3ObjectSize(bucket, "special/900000.bin")
if err != nil {
globals.Logger.Error(err.Error())
}
pReqGetInfo.URL = fmt.Sprintf("http://%s.b-cdn.net/special/900000.bin", "pds-AMAJ-d1")
pReqGetInfo.RequestHeaders = []*datastore_types.DataStoreKeyValue{}
@@ -26,7 +31,7 @@ func PrepareGetObject(err error, client *nex.Client, callID uint32, dataStorePre
} else {
courseMetadata := database.GetCourseMetadataByDataID(dataStorePrepareGetParam.DataID)
pReqGetInfo.URL = fmt.Sprintf("http://%s.b-cdn.net/course/%d.bin", os.Getenv("S3_BUCKET_NAME"), dataStorePrepareGetParam.DataID)
pReqGetInfo.URL = fmt.Sprintf("https://%s.b-cdn.net/course/%d.bin", bucket, dataStorePrepareGetParam.DataID)
pReqGetInfo.RequestHeaders = []*datastore_types.DataStoreKeyValue{}
pReqGetInfo.Size = courseMetadata.Size
pReqGetInfo.RootCACert = []byte{}
@@ -56,4 +61,6 @@ func PrepareGetObject(err error, client *nex.Client, callID uint32, dataStorePre
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -11,13 +11,13 @@ import (
"time"
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func PreparePostObject(err error, client *nex.Client, callID uint32, param *datastore_types.DataStorePreparePostParam) {
func PreparePostObject(err error, client *nex.Client, callID uint32, param *datastore_types.DataStorePreparePostParam) uint32 {
rand.Seed(time.Now().UnixNano())
nodeID := rand.Intn(len(globals.DataStoreIDGenerators))
@@ -38,7 +38,7 @@ func PreparePostObject(err error, client *nex.Client, callID uint32, param *data
data := pid + bucket + key + date
hmac := hmac.New(sha256.New, globals.HMACSecret)
hmac := hmac.New(sha256.New, []byte{})
hmac.Write([]byte(data))
signature := hex.EncodeToString(hmac.Sum(nil))
@@ -98,4 +98,6 @@ func PreparePostObject(err error, client *nex.Client, callID uint32, param *data
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -2,12 +2,12 @@ package nex_datastore
import (
nex "github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore "github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func RateObjects(err error, client *nex.Client, callID uint32, targets []*datastore_types.DataStoreRatingTarget, params []*datastore_types.DataStoreRateObjectParam, transactional bool, fetchRatings bool) {
func RateObjects(err error, client *nex.Client, callID uint32, targets []*datastore_types.DataStoreRatingTarget, params []*datastore_types.DataStoreRateObjectParam, transactional bool, fetchRatings bool) uint32 {
// TODO: complete this
rmcResponseStream := nex.NewStreamOut(globals.NEXServer)
@@ -34,4 +34,6 @@ func RateObjects(err error, client *nex.Client, callID uint32, targets []*datast
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func AddToBufferQueues(err error, client *nex.Client, callID uint32, params []*datastore_super_mario_maker_types.BufferQueueParam, buffers [][]byte) {
func AddToBufferQueues(err error, client *nex.Client, callID uint32, params []*datastore_super_mario_maker_types.BufferQueueParam, buffers [][]byte) uint32 {
pResults := make([]uint32, 0)
for i := 0; i < len(params); i++ {
@@ -44,4 +44,6 @@ func AddToBufferQueues(err error, client *nex.Client, callID uint32, params []*d
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func CheckRateCustomRankingCounter(err error, client *nex.Client, callID uint32, applicationID uint32) {
func CheckRateCustomRankingCounter(err error, client *nex.Client, callID uint32, applicationID uint32) uint32 {
var isBelowThreshold uint8
switch applicationID {
@@ -41,4 +41,6 @@ func CheckRateCustomRankingCounter(err error, client *nex.Client, callID uint32,
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -10,7 +10,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func CompleteAttachFile(err error, client *nex.Client, callID uint32, dataStoreCompletePostParam *datastore_types.DataStoreCompletePostParam) {
func CompleteAttachFile(err error, client *nex.Client, callID uint32, dataStoreCompletePostParam *datastore_types.DataStoreCompletePostParam) uint32 {
rmcResponseStream := nex.NewStreamOut(globals.NEXServer)
// TODO: complete this
@@ -36,4 +36,6 @@ func CompleteAttachFile(err error, client *nex.Client, callID uint32, dataStoreC
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -12,7 +12,7 @@ import (
// This is the same as DataStoreSMM::RecommendedCourseSearchObject
// Not sure why they used a different method here?
func CTRPickUpCourseSearchObject(err error, client *nex.Client, callID uint32, dataStoreSearchParam *datastore_types.DataStoreSearchParam, extraData []string) {
func CTRPickUpCourseSearchObject(err error, client *nex.Client, callID uint32, dataStoreSearchParam *datastore_types.DataStoreSearchParam, extraData []string) uint32 {
pRankingResults := make([]*datastore_super_mario_maker_types.DataStoreCustomRankingResult, 0)
courseMetadatas := database.GetCourseMetadatasByLimit(100) // In PCAPs param.minimalRatingFrequency is 100 but is 0 here?
@@ -44,4 +44,6 @@ func CTRPickUpCourseSearchObject(err error, client *nex.Client, callID uint32, d
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -10,7 +10,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func FollowingsLatestCourseSearchObject(err error, client *nex.Client, callID uint32, dataStoreSearchParam *datastore_types.DataStoreSearchParam, extraData []string) {
func FollowingsLatestCourseSearchObject(err error, client *nex.Client, callID uint32, dataStoreSearchParam *datastore_types.DataStoreSearchParam, extraData []string) uint32 {
pRankingResults := make([]*datastore_super_mario_maker_types.DataStoreCustomRankingResult, 0)
for _, pid := range dataStoreSearchParam.OwnerIDs {
@@ -44,4 +44,6 @@ func FollowingsLatestCourseSearchObject(err error, client *nex.Client, callID ui
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -10,7 +10,7 @@ import (
var MAX_COURSE_UPLOADS uint32 = 0x64 // Nintendo has this set to 100, but we can change it if we want
func GetApplicationConfig(err error, client *nex.Client, callID uint32, applicationID uint32) {
func GetApplicationConfig(err error, client *nex.Client, callID uint32, applicationID uint32) uint32 {
config := make([]uint32, 0)
@@ -50,6 +50,8 @@ func GetApplicationConfig(err error, client *nex.Client, callID uint32, applicat
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}
func getApplicationConfig_Unknown0() []uint32 {

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func GetApplicationConfigString(err error, client *nex.Client, callID uint32, applicationID uint32) {
func GetApplicationConfigString(err error, client *nex.Client, callID uint32, applicationID uint32) uint32 {
// Word blacklists?
config := make([]string, 0)
@@ -46,6 +46,8 @@ func GetApplicationConfigString(err error, client *nex.Client, callID uint32, ap
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}
func getApplicationConfigString_WordBlacklist1() []string {

View File

@@ -10,7 +10,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func GetBufferQueue(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.BufferQueueParam) {
func GetBufferQueue(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.BufferQueueParam) uint32 {
// TODO: complete this
rmcResponseStream := nex.NewStreamOut(globals.NEXServer)
@@ -47,4 +47,6 @@ func GetBufferQueue(err error, client *nex.Client, callID uint32, param *datasto
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func GetCourseRecord(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.DataStoreGetCourseRecordParam) {
func GetCourseRecord(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.DataStoreGetCourseRecordParam) uint32 {
worldRecord := database.GetCourseWorldRecord(param.DataID)
rmcResponse := nex.NewRMCResponse(datastore_super_mario_maker.ProtocolID, callID)
@@ -47,4 +47,6 @@ func GetCourseRecord(err error, client *nex.Client, callID uint32, param *datast
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -9,7 +9,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func GetCustomRankingByDataID(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.DataStoreGetCustomRankingByDataIDParam) {
func GetCustomRankingByDataID(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.DataStoreGetCustomRankingByDataIDParam) uint32 {
var pRankingResult []*datastore_super_mario_maker_types.DataStoreCustomRankingResult
var pResults []uint32
@@ -50,6 +50,8 @@ func GetCustomRankingByDataID(err error, client *nex.Client, callID uint32, para
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}
func getCustomRankingByDataIdStarredCourses(pid uint32) ([]*datastore_super_mario_maker_types.DataStoreCustomRankingResult, []uint32) {

View File

@@ -6,7 +6,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func GetDeletionReason(err error, client *nex.Client, callID uint32, dataIdLst []uint64) {
func GetDeletionReason(err error, client *nex.Client, callID uint32, dataIdLst []uint64) uint32 {
// TODO: Complete this
pDeletionReasons := make([]uint32, 0)
@@ -40,4 +40,6 @@ func GetDeletionReason(err error, client *nex.Client, callID uint32, dataIdLst [
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func GetMetasWithCourseRecord(err error, client *nex.Client, callID uint32, dataStoreGetCourseRecordParams []*datastore_super_mario_maker_types.DataStoreGetCourseRecordParam, dataStoreGetMetaParam *datastore_types.DataStoreGetMetaParam) {
func GetMetasWithCourseRecord(err error, client *nex.Client, callID uint32, dataStoreGetCourseRecordParams []*datastore_super_mario_maker_types.DataStoreGetCourseRecordParam, dataStoreGetMetaParam *datastore_types.DataStoreGetMetaParam) uint32 {
// TODO: complete this
rmcResponseStream := nex.NewStreamOut(globals.NEXServer)
@@ -36,4 +36,6 @@ func GetMetasWithCourseRecord(err error, client *nex.Client, callID uint32, data
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -12,7 +12,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func GetObjectInfos(err error, client *nex.Client, callID uint32, dataIDs []uint64) {
func GetObjectInfos(err error, client *nex.Client, callID uint32, dataIDs []uint64) uint32 {
pInfos := make([]*datastore_super_mario_maker_types.DataStoreFileServerObjectInfo, 0)
courseMetadatas := database.GetCourseMetadataByDataIDs(dataIDs)
@@ -53,4 +53,6 @@ func GetObjectInfos(err error, client *nex.Client, callID uint32, dataIDs []uint
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -16,7 +16,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func PrepareAttachFile(err error, client *nex.Client, callID uint32, dataStoreAttachFileParam *datastore_super_mario_maker_types.DataStoreAttachFileParam) {
func PrepareAttachFile(err error, client *nex.Client, callID uint32, dataStoreAttachFileParam *datastore_super_mario_maker_types.DataStoreAttachFileParam) uint32 {
key := fmt.Sprintf("image/%d.jpg", dataStoreAttachFileParam.ReferDataID)
bucket := os.Getenv("S3_BUCKET_NAME")
date := strconv.Itoa(int(time.Now().Unix()))
@@ -24,7 +24,7 @@ func PrepareAttachFile(err error, client *nex.Client, callID uint32, dataStoreAt
data := pid + bucket + key + date
hmac := hmac.New(sha256.New, globals.HMACSecret)
hmac := hmac.New(sha256.New, []byte{})
hmac.Write([]byte(data))
signature := hex.EncodeToString(hmac.Sum(nil))
@@ -88,4 +88,6 @@ func PrepareAttachFile(err error, client *nex.Client, callID uint32, dataStoreAt
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func RateCustomRanking(err error, client *nex.Client, callID uint32, params []*datastore_super_mario_maker_types.DataStoreRateCustomRankingParam) {
func RateCustomRanking(err error, client *nex.Client, callID uint32, params []*datastore_super_mario_maker_types.DataStoreRateCustomRankingParam) uint32 {
/*
This has to change. We need to figure out what DataStoreRateCustomRankingParam.applicationId means.
@@ -109,4 +109,6 @@ func RateCustomRanking(err error, client *nex.Client, callID uint32, params []*d
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -10,7 +10,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func RecommendedCourseSearchObject(err error, client *nex.Client, callID uint32, param *datastore_types.DataStoreSearchParam, extraData []string) {
func RecommendedCourseSearchObject(err error, client *nex.Client, callID uint32, param *datastore_types.DataStoreSearchParam, extraData []string) uint32 {
// TODO: complete this
pRankingResults := make([]*datastore_super_mario_maker_types.DataStoreCustomRankingResult, 0)
@@ -50,4 +50,6 @@ func RecommendedCourseSearchObject(err error, client *nex.Client, callID uint32,
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -12,7 +12,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/utility"
)
func SuggestedCourseSearchObject(err error, client *nex.Client, callID uint32, param *datastore_types.DataStoreSearchParam, extraData []string) {
func SuggestedCourseSearchObject(err error, client *nex.Client, callID uint32, param *datastore_types.DataStoreSearchParam, extraData []string) uint32 {
// TODO: complete this
courseID, _ := strconv.ParseUint(extraData[0], 0, 64)
@@ -52,4 +52,6 @@ func SuggestedCourseSearchObject(err error, client *nex.Client, callID uint32, p
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -8,7 +8,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func UploadCourseRecord(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.DataStoreUploadCourseRecordParam) {
func UploadCourseRecord(err error, client *nex.Client, callID uint32, param *datastore_super_mario_maker_types.DataStoreUploadCourseRecordParam) uint32 {
database.UpdateCourseWorldRecord(param.DataID, client.PID(), param.Score)
rmcResponse := nex.NewRMCResponse(datastore_super_mario_maker.ProtocolID, callID)
@@ -28,4 +28,6 @@ func UploadCourseRecord(err error, client *nex.Client, callID uint32, param *dat
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -6,7 +6,7 @@ import (
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
)
func DeliverMessage(err error, client *nex.Client, callID uint32, oUserMessage nex.StructureInterface) {
func DeliverMessage(err error, client *nex.Client, callID uint32, oUserMessage nex.StructureInterface) uint32 {
rmcResponse := nex.NewRMCResponse(message_delivery.ProtocolID, callID)
rmcResponse.SetSuccess(message_delivery.MethodDeliverMessage, nil)
@@ -24,4 +24,6 @@ func DeliverMessage(err error, client *nex.Client, callID uint32, oUserMessage n
responsePacket.AddFlag(nex.FlagReliable)
globals.NEXServer.Send(responsePacket)
return 0
}

View File

@@ -1,7 +1,6 @@
package nex
import (
"github.com/PretendoNetwork/nex-protocols-go/datastore"
datastore_super_mario_maker "github.com/PretendoNetwork/nex-protocols-go/datastore/super-mario-maker"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
nex_datastore "github.com/PretendoNetwork/super-mario-maker-secure/nex/datastore"
@@ -9,18 +8,15 @@ import (
)
func registerNEXProtocols() {
datastoreProtocol := datastore.NewDataStoreProtocol(globals.NEXServer)
datastoreProtocol.GetMeta(nex_datastore.GetMeta)
datastoreProtocol.PreparePostObject(nex_datastore.PreparePostObject)
datastoreProtocol.PrepareGetObject(nex_datastore.PrepareGetObject)
datastoreProtocol.CompletePostObject(nex_datastore.CompletePostObject)
datastoreProtocol.GetMetasMultipleParam(nex_datastore.GetMetasMultipleParam)
datastoreProtocol.ChangeMeta(nex_datastore.ChangeMeta)
datastoreProtocol.RateObjects(nex_datastore.RateObjects)
datastoreSMMProtocol := datastore_super_mario_maker.NewDataStoreSuperMarioMakerProtocol(globals.NEXServer)
datastoreSMMProtocol := datastore_super_mario_maker.NewProtocol(globals.NEXServer)
datastoreSMMProtocol.GetMeta(nex_datastore.GetMeta)
datastoreSMMProtocol.PreparePostObject(nex_datastore.PreparePostObject)
datastoreSMMProtocol.PrepareGetObject(nex_datastore.PrepareGetObject)
datastoreSMMProtocol.CompletePostObject(nex_datastore.CompletePostObject)
datastoreSMMProtocol.GetMetasMultipleParam(nex_datastore.GetMetasMultipleParam)
datastoreSMMProtocol.ChangeMeta(nex_datastore.ChangeMeta)
datastoreSMMProtocol.RateObjects(nex_datastore.RateObjects)
datastoreSMMProtocol.GetObjectInfos(nex_datastore_super_mario_maker.GetObjectInfos)
datastoreSMMProtocol.RateCustomRanking(nex_datastore_super_mario_maker.RateCustomRanking)
datastoreSMMProtocol.GetCustomRankingByDataID(nex_datastore_super_mario_maker.GetCustomRankingByDataID)

View File

@@ -12,11 +12,7 @@ func StartNEXServer() {
globals.NEXServer = nex.NewServer()
globals.NEXServer.SetPRUDPVersion(1)
globals.NEXServer.SetPRUDPProtocolMinorVersion(2)
globals.NEXServer.SetDefaultNEXVersion(&nex.NEXVersion{
Major: 3,
Minor: 8,
Patch: 3,
})
globals.NEXServer.SetDefaultNEXVersion(nex.NewNEXVersion(3, 8, 3))
globals.NEXServer.SetKerberosPassword(os.Getenv("KERBEROS_PASSWORD"))
globals.NEXServer.SetAccessKey("9f2b4678")

View File

@@ -6,8 +6,8 @@ import (
"time"
"github.com/PretendoNetwork/nex-go"
"github.com/PretendoNetwork/nex-protocols-go/datastore/super-mario-maker/types"
"github.com/PretendoNetwork/nex-protocols-go/datastore/types"
datastore_super_mario_maker_types "github.com/PretendoNetwork/nex-protocols-go/datastore/super-mario-maker/types"
datastore_types "github.com/PretendoNetwork/nex-protocols-go/datastore/types"
"github.com/PretendoNetwork/super-mario-maker-secure/database"
"github.com/PretendoNetwork/super-mario-maker-secure/globals"
"github.com/PretendoNetwork/super-mario-maker-secure/types"