Organize packets in to their own packages

Also remove legacy CryptoStateManager
This commit is contained in:
Chord 2016-05-03 20:11:45 -04:00
parent e41d0ac9c4
commit ff4ea792ce
23 changed files with 65 additions and 90 deletions

View file

@ -1,8 +1,9 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
import net.psforever.packet.control.SlottedMetaPacket
import scodec.bits.BitVector
import scodec.{Err, DecodeResult, Attempt, Codec}
import scodec.{Attempt, Codec, DecodeResult, Err}
import scodec.codecs._
object ControlPacketOpcode extends Enumeration {
@ -54,12 +55,12 @@ object ControlPacketOpcode extends Enumeration {
import net.psforever
opcode match {
case HandleGamePacket => psforever.packet.HandleGamePacket.decode
case ServerStart => psforever.packet.ServerStart.decode
case ClientStart => psforever.packet.ClientStart.decode
case MultiPacket => psforever.packet.MultiPacket.decode
case SlottedMetaPacket0 => psforever.packet.SlottedMetaPacket.decode
case ConnectionClose => psforever.packet.ConnectionClose.decode
case HandleGamePacket => control.HandleGamePacket.decode
case ServerStart => control.ServerStart.decode
case ClientStart => control.ClientStart.decode
case MultiPacket => control.MultiPacket.decode
case SlottedMetaPacket0 => SlottedMetaPacket.decode
case ConnectionClose => control.ConnectionClose.decode
case default => (a : BitVector) => Attempt.failure(Err(s"Could not find a marshaller for control packet ${opcode}"))
}
}

View file

@ -2,7 +2,7 @@
package net.psforever.packet
import scodec.bits.BitVector
import scodec.{Err, DecodeResult, Attempt}
import scodec.{Attempt, DecodeResult, Err}
// this isnt actually used as an opcode (i.e not serialized)
object CryptoPacketOpcode extends Enumeration {
@ -14,10 +14,10 @@ object CryptoPacketOpcode extends Enumeration {
import net.psforever
opcode match {
case ClientChallengeXchg => psforever.packet.ClientChallengeXchg.decode
case ServerChallengeXchg => psforever.packet.ServerChallengeXchg.decode
case ServerFinished => psforever.packet.ServerFinished.decode
case ClientFinished => psforever.packet.ClientFinished.decode
case ClientChallengeXchg => crypto.ClientChallengeXchg.decode
case ServerChallengeXchg => crypto.ServerChallengeXchg.decode
case ServerFinished => crypto.ServerFinished.decode
case ClientFinished => crypto.ClientFinished.decode
case default => (a : BitVector) => Attempt.failure(Err(s"Could not find a marshaller for crypto packet ${opcode}")
.pushContext("get_marshaller"))
}

View file

@ -1,7 +1,7 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
import scodec.{Err, DecodeResult, Attempt, Codec}
import scodec.{Attempt, Codec, DecodeResult, Err}
import scodec.bits.BitVector
import scodec.codecs._
@ -35,9 +35,9 @@ object GamePacketOpcode extends Enumeration {
import net.psforever
opcode match {
case LoginMessage => psforever.packet.LoginMessage.decode
case LoginRespMessage => psforever.packet.LoginRespMessage.decode
case VNLWorldStatusMessage => psforever.packet.VNLWorldStatusMessage.decode
case LoginMessage => game.LoginMessage.decode
case LoginRespMessage => game.LoginRespMessage.decode
case VNLWorldStatusMessage => game.VNLWorldStatusMessage.decode
case default => (a : BitVector) => Attempt.failure(Err(s"Could not find a marshaller for game packet ${opcode}"))
}
}

View file

@ -1,9 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.control
import net.psforever.packet.{ControlPacketOpcode, Marshallable, PlanetSideControlPacket}
import scodec.Codec
import scodec.codecs._
import scodec.bits._
import scodec.codecs._
final case class ClientStart(clientNonce : Long)
extends PlanetSideControlPacket {

View file

@ -1,6 +1,7 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.control
import net.psforever.packet._
import scodec.Codec
final case class ConnectionClose()

View file

@ -1,8 +1,9 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.control
import scodec.bits.ByteVector
import net.psforever.packet.{ControlPacketOpcode, Marshallable, PlanetSideControlPacket}
import scodec.Codec
import scodec.bits.ByteVector
import scodec.codecs._
final case class HandleGamePacket(packet : ByteVector)

View file

@ -1,10 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.control
import scodec.bits.ByteVector
import net.psforever.packet.{ControlPacketOpcode, Marshallable, PlanetSideControlPacket}
import scodec.Codec
import scodec.bits.ByteVector
import scodec.codecs._
import scodec.bits._
final case class MultiPacket(packets : Vector[ByteVector])
extends PlanetSideControlPacket {

View file

@ -1,9 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.control
import net.psforever.packet.{ControlPacketOpcode, Marshallable, PlanetSideControlPacket}
import scodec.Codec
import scodec.codecs._
import scodec.bits._
import scodec.codecs._
final case class ServerStart(clientNonce : Long, serverNonce : Long)
extends PlanetSideControlPacket {

View file

@ -1,8 +1,9 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.control
import scodec.bits.ByteVector
import net.psforever.packet.{ControlPacketOpcode, Marshallable, PlanetSideControlPacket}
import scodec.Codec
import scodec.bits.ByteVector
import scodec.codecs._
final case class SlottedMetaPacket(/*slot : Int,*/ packet : ByteVector)

View file

@ -1,11 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
import scodec.bits.ByteVector
package net.psforever.packet.crypto
import net.psforever.packet.{CryptoPacketOpcode, Marshallable, PlanetSideCryptoPacket}
import scodec.Codec
import scodec.bits.{ByteVector, _}
import scodec.codecs._
import scodec.bits._
final case class ClientChallengeXchg(time : Long, challenge : ByteVector, p : ByteVector, g : ByteVector)
extends PlanetSideCryptoPacket {

View file

@ -1,10 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.crypto
import scodec.bits.ByteVector
import net.psforever.packet.{CryptoPacketOpcode, Marshallable, PlanetSideCryptoPacket}
import scodec.Codec
import scodec.bits.{ByteVector, _}
import scodec.codecs._
import scodec.bits._
final case class ClientFinished(pubKey : ByteVector, challengeResult: ByteVector)
extends PlanetSideCryptoPacket {

View file

@ -1,10 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.crypto
import scodec.bits.ByteVector
import net.psforever.packet.{CryptoPacketOpcode, Marshallable, PlanetSideCryptoPacket}
import scodec.Codec
import scodec.bits.{ByteVector, _}
import scodec.codecs._
import scodec.bits._
final case class ServerChallengeXchg(time : Long, challenge : ByteVector, pubKey : ByteVector)
extends PlanetSideCryptoPacket {

View file

@ -1,10 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.crypto
import scodec.bits.ByteVector
import net.psforever.packet.{CryptoPacketOpcode, Marshallable, PlanetSideCryptoPacket}
import scodec.Codec
import scodec.bits.{ByteVector, _}
import scodec.codecs._
import scodec.bits._
final case class ServerFinished(challengeResult : ByteVector)
extends PlanetSideCryptoPacket {

View file

@ -1,6 +1,7 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.game
import net.psforever.packet.{GamePacketOpcode, Marshallable, PlanetSideGamePacket}
import scodec.Codec
import scodec.codecs._

View file

@ -1,9 +1,9 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.game
import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, PlanetSideGamePacket}
import scodec.Codec
import scodec.codecs._
import scodec.bits._
import shapeless._
final case class LoginMessage(majorVersion : Long,

View file

@ -1,10 +1,10 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.game
import scodec.bits.ByteVector
import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, PlanetSideGamePacket}
import scodec.Codec
import scodec.bits.ByteVector
import scodec.codecs._
import scodec.bits._
final case class LoginRespMessage(token : String, // printable ascii for 16
unknown : ByteVector, // hex"00000000 18FABE0C 00000000 00000000"

View file

@ -1,8 +1,9 @@
// Copyright (c) 2016 PSForever.net to present
package net.psforever.packet
package net.psforever.packet.game
import java.net.{InetAddress, InetSocketAddress}
import net.psforever.packet.{GamePacketOpcode, Marshallable, PacketHelpers, PlanetSideGamePacket}
import scodec._
import scodec.bits._
import scodec.codecs._

View file

@ -1,6 +1,8 @@
// Copyright (c) 2016 PSForever.net to present
import org.specs2.mutable._
import net.psforever.packet._
import net.psforever.packet.control.{ClientStart, ServerStart}
import net.psforever.packet.crypto.{ClientChallengeXchg, ClientFinished, ServerChallengeXchg, ServerFinished}
import scodec.Codec
import scodec.bits._

View file

@ -3,6 +3,7 @@ import java.net.{InetAddress, InetSocketAddress}
import org.specs2.mutable._
import net.psforever.packet._
import net.psforever.packet.game._
import scodec.bits._
class GamePacketTest extends Specification {

View file

@ -1,6 +1,7 @@
// Copyright (c) 2016 PSForever.net to present
import org.specs2.mutable._
import net.psforever.packet._
import net.psforever.packet.control.{ClientStart, ServerStart}
import scodec.bits._
class PacketCodingTest extends Specification {