# # Utilities for driving smbclient # # Variables set smb_prompt "smb: \\\\>" # Spawn smbclient and wait for a prompt proc spawn_smbclient { args } { set result 0 global smb_prompt global spawn_id # Spawn smbclient spawn smbclient [lindex $args 0] [lindex $args 1] [lindex $args 2] \ [lindex $args 3] [lindex $args 4] [lindex $args 5] \ [lindex $args 6] # Wait for prompt expect { $smb_prompt { set result 1 } timeout { perror "timed out spawning smbclient" } eof { perror "end of file spawning smbclient" } } return $result } # Run a command and wait for a prompt proc do_smbclient { args } { set action [lindex $args 0] set description [lindex $args 1] global smb_prompt # Send command verbose $action send $action expect { $smb_prompt {} timeout { perror "timed out $description"; return -1} eof { perror "end of file $description"; return -1 } } verbose $expect_out(buffer) return $expect_out(buffer) }