Add skip first SRP to prevent auth failure
This commit is contained in:
parent
8e3f4479ca
commit
c7ca96ed43
@ -16,6 +16,7 @@ type ClientHandler struct {
|
|||||||
DownloadMedia bool
|
DownloadMedia bool
|
||||||
Password string
|
Password string
|
||||||
StalkMode bool
|
StalkMode bool
|
||||||
|
SkipSRP int
|
||||||
SRPPubA []byte
|
SRPPubA []byte
|
||||||
SRPPrivA []byte
|
SRPPrivA []byte
|
||||||
MediaHashes map[string][]byte
|
MediaHashes map[string][]byte
|
||||||
@ -29,7 +30,7 @@ func (ch *ClientHandler) HandlerLoop(cmd_chan chan commands.Command) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var isdone = false
|
|
||||||
func (ch *ClientHandler) handleCommand(o interface{}) error {
|
func (ch *ClientHandler) handleCommand(o interface{}) error {
|
||||||
switch cmd := o.(type) {
|
switch cmd := o.(type) {
|
||||||
case *commands.ServerSetPeer:
|
case *commands.ServerSetPeer:
|
||||||
@ -39,12 +40,9 @@ func (ch *ClientHandler) handleCommand(o interface{}) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if cmd.PeerID > 1000 {
|
|
||||||
isdone = false
|
|
||||||
} else {
|
|
||||||
isdone = true
|
|
||||||
}
|
|
||||||
case *commands.ServerHello:
|
case *commands.ServerHello:
|
||||||
|
fmt.Printf("Server sent 'HELLO'\n")
|
||||||
packet.ResetSeqNr(65500)
|
packet.ResetSeqNr(65500)
|
||||||
if ch.StalkMode {
|
if ch.StalkMode {
|
||||||
return nil
|
return nil
|
||||||
@ -57,14 +55,15 @@ isdone = true
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if isdone == true {
|
if ch.SkipSRP <= 0 {
|
||||||
fmt.Printf("Sending SRP bytes A, len=%d\n", len(ch.SRPPubA))
|
fmt.Printf("Sending SRP bytes A, len=%d\n", len(ch.SRPPubA))
|
||||||
err = ch.Client.SendCommand(commands.NewClientSRPBytesA(ch.SRPPubA))
|
err = ch.Client.SendCommand(commands.NewClientSRPBytesA(ch.SRPPubA))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ch.SkipSRP = ch.SkipSRP - 1
|
||||||
}
|
}
|
||||||
isdone = true
|
|
||||||
}
|
}
|
||||||
if cmd.AuthMechanismFirstSRP {
|
if cmd.AuthMechanismFirstSRP {
|
||||||
// new client
|
// new client
|
||||||
|
Loading…
x
Reference in New Issue
Block a user