1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

add highway session info.

This commit is contained in:
Mrs4s 2020-12-31 02:45:50 +08:00
parent 12ea6ae4c7
commit f5aa81ba50
5 changed files with 665 additions and 0 deletions

View File

@ -69,6 +69,7 @@ type QQClient struct {
rollbackSig []byte rollbackSig []byte
timeDiff int64 timeDiff int64
sigInfo *loginSigInfo sigInfo *loginSigInfo
highwaySession *highwaySessionInfo
fileStorageInfo *jce.FileStoragePushFSSvcList fileStorageInfo *jce.FileStoragePushFSSvcList
pwdFlag bool pwdFlag bool

View File

@ -3,6 +3,7 @@ package client
import ( import (
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"github.com/Mrs4s/MiraiGo/client/pb/cmd0x6ff"
"net" "net"
"strconv" "strconv"
"strings" "strings"
@ -249,6 +250,14 @@ func decodePushReqPacket(c *QQClient, _ uint16, payload []byte) (interface{}, er
list.ReadFrom(fmtPkt) list.ReadFrom(fmtPkt)
c.Debug("got file storage svc push.") c.Debug("got file storage svc push.")
c.fileStorageInfo = list c.fileStorageInfo = list
rsp := cmd0x6ff.C501RspBody{}
if err := proto.Unmarshal(list.BigDataChannel.PbBuf, &rsp); err == nil && rsp.RspBody != nil {
c.highwaySession = &highwaySessionInfo{
SigSession: rsp.RspBody.SigSession,
SessionKey: rsp.RspBody.SessionKey,
}
c.Debug("highway session updated.")
}
} }
} }

View File

@ -209,6 +209,11 @@ type (
Seq int32 Seq int32
Msg *message.GroupMessage Msg *message.GroupMessage
} }
highwaySessionInfo struct {
SigSession []byte
SessionKey []byte
}
) )
const ( const (

View File

@ -0,0 +1,613 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.11.4
// source: subcmd0x501.proto
package cmd0x6ff
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type C501ReqBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReqBody *SubCmd0X501ReqBody `protobuf:"bytes,1281,opt,name=ReqBody" json:"ReqBody,omitempty"`
}
func (x *C501ReqBody) Reset() {
*x = C501ReqBody{}
if protoimpl.UnsafeEnabled {
mi := &file_subcmd0x501_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C501ReqBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C501ReqBody) ProtoMessage() {}
func (x *C501ReqBody) ProtoReflect() protoreflect.Message {
mi := &file_subcmd0x501_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use C501ReqBody.ProtoReflect.Descriptor instead.
func (*C501ReqBody) Descriptor() ([]byte, []int) {
return file_subcmd0x501_proto_rawDescGZIP(), []int{0}
}
func (x *C501ReqBody) GetReqBody() *SubCmd0X501ReqBody {
if x != nil {
return x.ReqBody
}
return nil
}
type C501RspBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RspBody *SubCmd0X501RspBody `protobuf:"bytes,1281,opt,name=RspBody" json:"RspBody,omitempty"`
}
func (x *C501RspBody) Reset() {
*x = C501RspBody{}
if protoimpl.UnsafeEnabled {
mi := &file_subcmd0x501_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *C501RspBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*C501RspBody) ProtoMessage() {}
func (x *C501RspBody) ProtoReflect() protoreflect.Message {
mi := &file_subcmd0x501_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use C501RspBody.ProtoReflect.Descriptor instead.
func (*C501RspBody) Descriptor() ([]byte, []int) {
return file_subcmd0x501_proto_rawDescGZIP(), []int{1}
}
func (x *C501RspBody) GetRspBody() *SubCmd0X501RspBody {
if x != nil {
return x.RspBody
}
return nil
}
type SubCmd0X501ReqBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uin *uint64 `protobuf:"varint,1,opt,name=uin" json:"uin,omitempty"`
IdcId *uint32 `protobuf:"varint,2,opt,name=idcId" json:"idcId,omitempty"`
Appid *uint32 `protobuf:"varint,3,opt,name=appid" json:"appid,omitempty"`
LoginSigType *uint32 `protobuf:"varint,4,opt,name=loginSigType" json:"loginSigType,omitempty"`
LoginSigTicket []byte `protobuf:"bytes,5,opt,name=loginSigTicket" json:"loginSigTicket,omitempty"`
RequestFlag *uint32 `protobuf:"varint,6,opt,name=requestFlag" json:"requestFlag,omitempty"`
ServiceTypes []uint32 `protobuf:"varint,7,rep,name=serviceTypes" json:"serviceTypes,omitempty"`
Bid *uint32 `protobuf:"varint,8,opt,name=bid" json:"bid,omitempty"`
}
func (x *SubCmd0X501ReqBody) Reset() {
*x = SubCmd0X501ReqBody{}
if protoimpl.UnsafeEnabled {
mi := &file_subcmd0x501_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubCmd0X501ReqBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubCmd0X501ReqBody) ProtoMessage() {}
func (x *SubCmd0X501ReqBody) ProtoReflect() protoreflect.Message {
mi := &file_subcmd0x501_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubCmd0X501ReqBody.ProtoReflect.Descriptor instead.
func (*SubCmd0X501ReqBody) Descriptor() ([]byte, []int) {
return file_subcmd0x501_proto_rawDescGZIP(), []int{2}
}
func (x *SubCmd0X501ReqBody) GetUin() uint64 {
if x != nil && x.Uin != nil {
return *x.Uin
}
return 0
}
func (x *SubCmd0X501ReqBody) GetIdcId() uint32 {
if x != nil && x.IdcId != nil {
return *x.IdcId
}
return 0
}
func (x *SubCmd0X501ReqBody) GetAppid() uint32 {
if x != nil && x.Appid != nil {
return *x.Appid
}
return 0
}
func (x *SubCmd0X501ReqBody) GetLoginSigType() uint32 {
if x != nil && x.LoginSigType != nil {
return *x.LoginSigType
}
return 0
}
func (x *SubCmd0X501ReqBody) GetLoginSigTicket() []byte {
if x != nil {
return x.LoginSigTicket
}
return nil
}
func (x *SubCmd0X501ReqBody) GetRequestFlag() uint32 {
if x != nil && x.RequestFlag != nil {
return *x.RequestFlag
}
return 0
}
func (x *SubCmd0X501ReqBody) GetServiceTypes() []uint32 {
if x != nil {
return x.ServiceTypes
}
return nil
}
func (x *SubCmd0X501ReqBody) GetBid() uint32 {
if x != nil && x.Bid != nil {
return *x.Bid
}
return 0
}
type SubCmd0X501RspBody struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SigSession []byte `protobuf:"bytes,1,opt,name=sigSession" json:"sigSession,omitempty"`
SessionKey []byte `protobuf:"bytes,2,opt,name=sessionKey" json:"sessionKey,omitempty"`
Addrs []*SrvAddrs `protobuf:"bytes,3,rep,name=addrs" json:"addrs,omitempty"`
ShareType *uint32 `protobuf:"varint,12,opt,name=shareType" json:"shareType,omitempty"`
ShareChannel *uint32 `protobuf:"varint,13,opt,name=shareChannel" json:"shareChannel,omitempty"`
}
func (x *SubCmd0X501RspBody) Reset() {
*x = SubCmd0X501RspBody{}
if protoimpl.UnsafeEnabled {
mi := &file_subcmd0x501_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubCmd0X501RspBody) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubCmd0X501RspBody) ProtoMessage() {}
func (x *SubCmd0X501RspBody) ProtoReflect() protoreflect.Message {
mi := &file_subcmd0x501_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubCmd0X501RspBody.ProtoReflect.Descriptor instead.
func (*SubCmd0X501RspBody) Descriptor() ([]byte, []int) {
return file_subcmd0x501_proto_rawDescGZIP(), []int{3}
}
func (x *SubCmd0X501RspBody) GetSigSession() []byte {
if x != nil {
return x.SigSession
}
return nil
}
func (x *SubCmd0X501RspBody) GetSessionKey() []byte {
if x != nil {
return x.SessionKey
}
return nil
}
func (x *SubCmd0X501RspBody) GetAddrs() []*SrvAddrs {
if x != nil {
return x.Addrs
}
return nil
}
func (x *SubCmd0X501RspBody) GetShareType() uint32 {
if x != nil && x.ShareType != nil {
return *x.ShareType
}
return 0
}
func (x *SubCmd0X501RspBody) GetShareChannel() uint32 {
if x != nil && x.ShareChannel != nil {
return *x.ShareChannel
}
return 0
}
type IpAddr struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type *uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
Ip *uint32 `protobuf:"fixed32,2,opt,name=ip" json:"ip,omitempty"`
Port *uint32 `protobuf:"varint,3,opt,name=port" json:"port,omitempty"`
Area *uint32 `protobuf:"varint,4,opt,name=area" json:"area,omitempty"`
}
func (x *IpAddr) Reset() {
*x = IpAddr{}
if protoimpl.UnsafeEnabled {
mi := &file_subcmd0x501_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IpAddr) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IpAddr) ProtoMessage() {}
func (x *IpAddr) ProtoReflect() protoreflect.Message {
mi := &file_subcmd0x501_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IpAddr.ProtoReflect.Descriptor instead.
func (*IpAddr) Descriptor() ([]byte, []int) {
return file_subcmd0x501_proto_rawDescGZIP(), []int{4}
}
func (x *IpAddr) GetType() uint32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *IpAddr) GetIp() uint32 {
if x != nil && x.Ip != nil {
return *x.Ip
}
return 0
}
func (x *IpAddr) GetPort() uint32 {
if x != nil && x.Port != nil {
return *x.Port
}
return 0
}
func (x *IpAddr) GetArea() uint32 {
if x != nil && x.Area != nil {
return *x.Area
}
return 0
}
type SrvAddrs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServiceType *uint32 `protobuf:"varint,1,opt,name=serviceType" json:"serviceType,omitempty"`
Addrs []*IpAddr `protobuf:"bytes,2,rep,name=addrs" json:"addrs,omitempty"`
}
func (x *SrvAddrs) Reset() {
*x = SrvAddrs{}
if protoimpl.UnsafeEnabled {
mi := &file_subcmd0x501_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SrvAddrs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SrvAddrs) ProtoMessage() {}
func (x *SrvAddrs) ProtoReflect() protoreflect.Message {
mi := &file_subcmd0x501_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SrvAddrs.ProtoReflect.Descriptor instead.
func (*SrvAddrs) Descriptor() ([]byte, []int) {
return file_subcmd0x501_proto_rawDescGZIP(), []int{5}
}
func (x *SrvAddrs) GetServiceType() uint32 {
if x != nil && x.ServiceType != nil {
return *x.ServiceType
}
return 0
}
func (x *SrvAddrs) GetAddrs() []*IpAddr {
if x != nil {
return x.Addrs
}
return nil
}
var File_subcmd0x501_proto protoreflect.FileDescriptor
var file_subcmd0x501_proto_rawDesc = []byte{
0x0a, 0x11, 0x73, 0x75, 0x62, 0x63, 0x6d, 0x64, 0x30, 0x78, 0x35, 0x30, 0x31, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x0b, 0x43, 0x35, 0x30, 0x31, 0x52, 0x65, 0x71, 0x42, 0x6f,
0x64, 0x79, 0x12, 0x2e, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x81, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x75, 0x62, 0x43, 0x6d, 0x64, 0x30, 0x78, 0x35,
0x30, 0x31, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x52, 0x65, 0x71, 0x42, 0x6f,
0x64, 0x79, 0x22, 0x3d, 0x0a, 0x0b, 0x43, 0x35, 0x30, 0x31, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64,
0x79, 0x12, 0x2e, 0x0a, 0x07, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x81, 0x0a, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x53, 0x75, 0x62, 0x43, 0x6d, 0x64, 0x30, 0x78, 0x35, 0x30,
0x31, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x07, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64,
0x79, 0x22, 0xf6, 0x01, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x43, 0x6d, 0x64, 0x30, 0x78, 0x35, 0x30,
0x31, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64,
0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x64, 0x63, 0x49, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x53,
0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x6f,
0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x6f,
0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x0e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x54, 0x69, 0x63, 0x6b,
0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x61,
0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x46, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x62, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x12, 0x53,
0x75, 0x62, 0x43, 0x6d, 0x64, 0x30, 0x78, 0x35, 0x30, 0x31, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64,
0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65,
0x79, 0x12, 0x1f, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x09, 0x2e, 0x53, 0x72, 0x76, 0x41, 0x64, 0x64, 0x72, 0x73, 0x52, 0x05, 0x61, 0x64, 0x64,
0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x68, 0x61,
0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x54, 0x0a, 0x06, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79,
0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02,
0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x22, 0x4b, 0x0a, 0x08, 0x53, 0x72,
0x76, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x72,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72,
0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x3b, 0x63, 0x6d, 0x64,
0x30, 0x78, 0x36, 0x66, 0x66,
}
var (
file_subcmd0x501_proto_rawDescOnce sync.Once
file_subcmd0x501_proto_rawDescData = file_subcmd0x501_proto_rawDesc
)
func file_subcmd0x501_proto_rawDescGZIP() []byte {
file_subcmd0x501_proto_rawDescOnce.Do(func() {
file_subcmd0x501_proto_rawDescData = protoimpl.X.CompressGZIP(file_subcmd0x501_proto_rawDescData)
})
return file_subcmd0x501_proto_rawDescData
}
var file_subcmd0x501_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_subcmd0x501_proto_goTypes = []interface{}{
(*C501ReqBody)(nil), // 0: C501ReqBody
(*C501RspBody)(nil), // 1: C501RspBody
(*SubCmd0X501ReqBody)(nil), // 2: SubCmd0x501ReqBody
(*SubCmd0X501RspBody)(nil), // 3: SubCmd0x501RspBody
(*IpAddr)(nil), // 4: IpAddr
(*SrvAddrs)(nil), // 5: SrvAddrs
}
var file_subcmd0x501_proto_depIdxs = []int32{
2, // 0: C501ReqBody.ReqBody:type_name -> SubCmd0x501ReqBody
3, // 1: C501RspBody.RspBody:type_name -> SubCmd0x501RspBody
5, // 2: SubCmd0x501RspBody.addrs:type_name -> SrvAddrs
4, // 3: SrvAddrs.addrs:type_name -> IpAddr
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_subcmd0x501_proto_init() }
func file_subcmd0x501_proto_init() {
if File_subcmd0x501_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_subcmd0x501_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*C501ReqBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_subcmd0x501_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*C501RspBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_subcmd0x501_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubCmd0X501ReqBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_subcmd0x501_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubCmd0X501RspBody); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_subcmd0x501_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IpAddr); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_subcmd0x501_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SrvAddrs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_subcmd0x501_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_subcmd0x501_proto_goTypes,
DependencyIndexes: file_subcmd0x501_proto_depIdxs,
MessageInfos: file_subcmd0x501_proto_msgTypes,
}.Build()
File_subcmd0x501_proto = out.File
file_subcmd0x501_proto_rawDesc = nil
file_subcmd0x501_proto_goTypes = nil
file_subcmd0x501_proto_depIdxs = nil
}

View File

@ -0,0 +1,37 @@
syntax = "proto2";
option go_package = ".;cmd0x6ff";
message C501ReqBody {
optional SubCmd0x501ReqBody ReqBody = 1281;
}
message C501RspBody {
optional SubCmd0x501RspBody RspBody = 1281;
}
message SubCmd0x501ReqBody {
optional uint64 uin = 1;
optional uint32 idcId = 2;
optional uint32 appid = 3;
optional uint32 loginSigType = 4;
optional bytes loginSigTicket = 5;
optional uint32 requestFlag = 6;
repeated uint32 serviceTypes = 7;
optional uint32 bid = 8;
}
message SubCmd0x501RspBody {
optional bytes sigSession = 1;
optional bytes sessionKey = 2;
repeated SrvAddrs addrs = 3;
}
message SrvAddrs {
optional uint32 serviceType = 1;
repeated IpAddr addrs = 2;
}
message IpAddr {
optional uint32 type = 1;
optional fixed32 ip = 2;
optional uint32 port = 3;
optional uint32 area = 4;
}