#!/usr/bin/expect

set timeout 20

set cmd [lrange $argv 1 end]
set password [lindex $argv 0]

eval spawn $cmd
expect {
    -re "passphrase|password" {send "$password\r";}
}

expect {
    -re "ERROR": {puts "error"; exit 255}
    -re "INVALID": {puts "error"; exit 255}
    eof
}

foreach {pid spawnid os_error_flag value} [wait] break

if {$os_error_flag == 0} {
    puts "exit status: $value"
    exit $value
} else {
    puts "errno: $value"
    exit $value
}
EOF
echo "spawned process status" $?
rm -f $tmp_script_file
echo "done"
