0
0
Fork 0
mirror of https://github.com/schollz/croc.git synced 2025-10-11 13:21:00 +02:00

prompt if sender wants to ask

This commit is contained in:
Zack Scholl 2019-10-24 06:58:12 -07:00
parent 4b8d32ff75
commit ffddd3e989

View file

@ -132,6 +132,7 @@ type RemoteFileRequest struct {
type SenderInfo struct { type SenderInfo struct {
FilesToTransfer []FileInfo FilesToTransfer []FileInfo
MachineID string MachineID string
Ask bool
} }
// New establishes a new connection for transferring files between two instances. // New establishes a new connection for transferring files between two instances.
@ -309,7 +310,7 @@ func (c *Client) Send(options TransferOptions) (err error) {
fmt.Fprintf(os.Stderr, "Code is: %s\nOn the other computer run\n\ncroc %s%s\n", c.Options.SharedSecret, otherRelay, c.Options.SharedSecret) fmt.Fprintf(os.Stderr, "Code is: %s\nOn the other computer run\n\ncroc %s%s\n", c.Options.SharedSecret, otherRelay, c.Options.SharedSecret)
if c.Options.Ask { if c.Options.Ask {
machid, _ := machineid.ID() machid, _ := machineid.ID()
fmt.Fprintf(os.Stderr, "\nYour machine ID is '%s'\n", machid) fmt.Fprintf(os.Stderr, "\rYour machine ID is '%s'\n", machid)
} }
// // c.spinner.Suffix = " waiting for recipient..." // // c.spinner.Suffix = " waiting for recipient..."
// c.spinner.Start() // c.spinner.Start()
@ -527,8 +528,8 @@ func (c *Client) processMessageFileInfo(m message.Message) (done bool, err error
} }
} }
// c.spinner.Stop() // c.spinner.Stop()
if !c.Options.NoPrompt || c.Options.Ask { if !c.Options.NoPrompt || c.Options.Ask || senderInfo.Ask {
if c.Options.Ask && senderInfo.MachineID != "" { if c.Options.Ask || senderInfo.Ask {
machID, _ := machineid.ID() machID, _ := machineid.ID()
fmt.Fprintf(os.Stderr, "\rYour machine id is '%s'.\nAccept %s (%s) from '%s'? (y/n) ", machID, fname, utils.ByteCountDecimal(totalSize), senderInfo.MachineID) fmt.Fprintf(os.Stderr, "\rYour machine id is '%s'.\nAccept %s (%s) from '%s'? (y/n) ", machID, fname, utils.ByteCountDecimal(totalSize), senderInfo.MachineID)
} else { } else {
@ -681,7 +682,7 @@ func (c *Client) processMessage(payload []byte) (done bool, err error) {
c.Step3RecipientRequestFile = true c.Step3RecipientRequestFile = true
if c.Options.Ask { if c.Options.Ask {
fmt.Fprintf(os.Stderr, "\rSend to machine '%s'? (y/n) ", remoteFile.MachineID) fmt.Fprintf(os.Stderr, "Send to machine '%s'? (y/n) ", remoteFile.MachineID)
if strings.ToLower(strings.TrimSpace(utils.GetInput(""))) != "y" { if strings.ToLower(strings.TrimSpace(utils.GetInput(""))) != "y" {
err = message.Send(c.conn[0], c.Key, message.Message{ err = message.Send(c.conn[0], c.Key, message.Message{
Type: "error", Type: "error",
@ -724,6 +725,7 @@ func (c *Client) updateIfSenderChannelSecured() (err error) {
b, err = json.Marshal(SenderInfo{ b, err = json.Marshal(SenderInfo{
FilesToTransfer: c.FilesToTransfer, FilesToTransfer: c.FilesToTransfer,
MachineID: machID, MachineID: machID,
Ask: c.Options.Ask,
}) })
if err != nil { if err != nil {
log.Error(err) log.Error(err)