Ejemplo n.º 1
0
func NewHandshakePacket(sessionKey []byte, networkSecret *secure.NetworkSecret) *Packet {
	sessionKey = append(magicKey, sessionKey...)
	data := networkSecret.Encode(sessionKey)

	body := Body{
		Type: TypeHandshake,
		Msg:  HandshakeMessage(data),
	}
	return &Packet{
		Head: Header{
			Length:  body.Len(),
			Version: CurrentVersion,
		},
		Data: body,
	}
}
Ejemplo n.º 2
0
func actionNew(ctx *cli.Context) {
	var secret *secure.NetworkSecret
	var err error

	if len(ctx.Args()) > 0 {
		keyStr := ctx.Args().First()
		secret, err = secure.NetworkSecretUnmarshal(keyStr)
		if err != nil {
			log.Fatal("error on decode network key, %v", err)
		}
	} else {
		_, ipNet, err := net.ParseCIDR(ctx.String("CIDR"))
		if err != nil {
			log.Fatal("cidr parse error, %v", err)
		}
		secret = secure.NewNetworkSecret(ipNet)
	}
	fmt.Println(secret.Marshal())
}