File tree Expand file tree Collapse file tree 4 files changed +27
-170
lines changed Expand file tree Collapse file tree 4 files changed +27
-170
lines changed Original file line number Diff line number Diff line change 1
1
utilities/it2ssh : .phony
2
- ./buildssh
3
2
cp utilities/it2ssh ../../OtherResources/
4
3
5
4
.phony :
Original file line number Diff line number Diff line change @@ -448,10 +448,10 @@ drain_stdin() {
448
448
}
449
449
450
450
main () {
451
- local token=" $1 "
452
- local uniqueid=" $2 "
453
- local booleanargs=" $3 "
454
- local sshargs=" $4 "
451
+ local token=$( base64_decode <<< $1 )
452
+ local uniqueid=$( base64_decode <<< $2 )
453
+ local booleanargs=$( base64_decode <<< $3 )
454
+ local sshargs=$( base64_decode <<< $4 )
455
455
456
456
log starting with token $token
457
457
log $( env)
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 45
45
die " base64 executable not present on local host"
46
46
fi
47
47
48
- conductor="c2V0IC1ldW8gcGlwZWZhaWwKbG9naW5fc2hlbGw9IiIKc2hlbGxfbmFtZT0iIgpxdWl0PTAKcHl0aG9uX2RldGVjdGVkPSIwIgpwZXJsX2RldGVjdGVkPSIwIgpleGVjX3NoZWxsPTAKcnVuX2NtZD0wCnJ1bl9weXRob249MApzdHR5X3NldHRpbmdzPSQoY29tbWFuZCBzdHR5IC1nKQpjbGVhbnVwKCkgewogIGNvbW1hbmQgc3R0eSAiJHN0dHlfc2V0dGluZ3MiCn0KZGllKCkgewogICAgbG9nIGRpZSAiJCoiCiAgICBwcmludGYgIlwwMzNbMzFtJXNcMDMzW21cblxyIiAiJCoiID4gL2Rldi9zdGRlcnIKICAgIGNsZWFudXAKICAgIGV4aXQgMQp9Cml0MnNzaF92ZXJib3NlPTAKbG9nKCkgewogICAgaWYgW1sgJGl0MnNzaF92ZXJib3NlID09IDAgXV07IHRoZW4KICAgICAgICByZXR1cm4KICAgIGZpCiAgICBwcmludGYgIlskJF0gJXM6ICVzXG4iICQoZGF0ZSArJUg6JU06JVMpICIkKiIgPj4gL3RtcC9pdDJzc2gubG9nCn0KcHJpbnRfZGNzKCkgewogICAgbG9jYWwgdG9rZW49JDEKICAgIGxvY2FsIHVuaXF1ZWlkPSQyCiAgICBsb2NhbCBib29sYXJncz0kMwogICAgbG9jYWwgc3NoYXJncz0kNAogICAgbG9nIG9zYyBwcmludF9kY3MgJDEgJDIgJDMgJDQKICAgIHByaW50ZiAiXDAzM1AyMDAwcCIKICAgIHByaW50ZiAiJXMgJXMgJXMgLSAlc1xuIiAiJHt0b2tlbn0iICIke3VuaXF1ZWlkfSIgIiR7Ym9vbGFyZ3N9IiAiJHtzc2hhcmdzfSIKfQpmaXJzdF93b3JkKCkgewogICAgbG9jYWwgaW5wdXQ9IiQxIgogICAgcHJpbnRmICIlcyIgJHtpbnB1dCUlICp9Cn0KZHJvcF9maXJzdF93b3JkKCkgewogICAgbG9jYWwgaW5wdXQ9IiQxIgogICAgbG9nIGRyb3AgZmlyc3Qgd29yZCBmcm9tOiAiJGlucHV0IgogICAgaWYgW1sgJGlucHV0ID09ICoiICIqIF1dOyB0aGVuCiAgICAgICAgcHJpbnRmICIlcyIgIiR7aW5wdXQjKiB9IgogICAgZmkKfQppZiBjb21tYW5kIC12IGJhc2U2NCA+IC9kZXYvbnVsbCAyPiAvZGV2L251bGw7IHRoZW4KICAgIGxvZyAiZm91bmQgYmFzZTY0IGNvbW1hbmQiCiAgICBiYXNlNjRfZW5jb2RlKCkgeyBjb21tYW5kIGJhc2U2NCB8IGNvbW1hbmQgdHIgLWQgXFxuXFxyOyB9CiAgICBiYXNlNjRfZGVjb2RlKCkgeyBjb21tYW5kIGJhc2U2NCAtZDsgfQplbGlmIGNvbW1hbmQgLXYgYjY0ZW5jb2RlID4gL2Rldi9udWxsIDI+IC9kZXYvbnVsbDsgdGhlbgogICAgbG9nICJmb3VuZCBiNjRlbmNvZGUsIGI2NGRlY29kZSBjb21tYW5kcyIKICAgIGJhc2U2NF9lbmNvZGUoKSB7IGNvbW1hbmQgYjY0ZW5jb2RlIC0gfCBjb21tYW5kIHNlZCAnMWQ7JGQnIHwgY29tbWFuZCB0ciAtZCBcXG5cXHI7IH0KICAgIGJhc2U2NF9kZWNvZGUoKSB7IGNvbW1hbmQgZm9sZCAtdyA3NiB8IGNvbW1hbmQgYjY0ZGVjb2RlIC1yOyB9CmVsaWYgZGV0ZWN0X3B5dGhvbjsgdGhlbgogICAgbG9nICJ1c2luZyBweXRob24gZm9yIGJhc2U2NCIKICAgIHB5YmFzZTY0KCkgeyBjb21tYW5kICIkcHl0aG9uIiAtYyAiaW1wb3J0IHN5cywgYmFzZTY0OyBnZXRhdHRyKHN5cy5zdGRvdXQsICdidWZmZXInLCBzeXMuc3Rkb3V0KS53cml0ZShiYXNlNjQuc3RhbmRhcmRfYjY0JDEoZ2V0YXR0cihzeXMuc3RkaW4sICdidWZmZXInLCBzeXMuc3RkaW4pLnJlYWQoKSkpIjsgfQogICAgYmFzZTY0X2VuY29kZSgpIHsgcHliYXNlNjQgImVuY29kZSI7IH0KICAgIGJhc2U2NF9kZWNvZGUoKSB7IHB5YmFzZTY0ICJkZWNvZGUiOyB9CmVsaWYgZGV0ZWN0X3Blcmw7IHRoZW4KICAgIGxvZyAidXNpbmcgcGVybCBmb3IgYmFzZTY0IgogICAgYmFzZTY0X2VuY29kZSgpIHsgY29tbWFuZCAiJHBlcmwiIC1NTUlNRTo6QmFzZTY0IC0wNzc3IC1uZSAncHJpbnQgZW5jb2RlX2Jhc2U2NCgkXyknOyB9CiAgICBiYXNlNjRfZGVjb2RlKCkgeyBjb21tYW5kICIkcGVybCIgLU1NSU1FOjpCYXNlNjQgLW5lICdwcmludCBkZWNvZGVfYmFzZTY0KCRfKSc7IH0KZWxzZQogICAgZGllICJiYXNlNjQgZXhlY3V0YWJsZSBub3QgcHJlc2VudCBvbiByZW1vdGUgaG9zdCIKZmkKcGFyc2VfcGFzc3dkX3JlY29yZCgpIHsKICAgIHByaW50ZiAiJXMiICIkKGNvbW1hbmQgZ3JlcCAtbyAnW146XSokJykiCn0KbG9naW5fc2hlbGxfaXNfb2soKSB7CiAgICBsb2cgbG9naW5fc2hlbGxfaXNfb2sKICAgIFsgLW4gIiQxIiBdICYmIGxvZ2luX3NoZWxsPSQoZWNobyAkMSB8IHBhcnNlX3Bhc3N3ZF9yZWNvcmQpCiAgICBbIC1uICIkbG9naW5fc2hlbGwiIC1hIC14ICIkbG9naW5fc2hlbGwiIF0gJiYgcmV0dXJuIDAKICAgIGxvZyAibG9naW4gc2hlbGwgb2YgJGxvZ2luX3NoZWxsIGlzIG9rIgogICAgcmV0dXJuIDEKfQp1c2luZ19nZXRlbnQoKSB7CiAgICBjbWQ9JChjb21tYW5kIC12IGdldGVudCkgJiYgWyAtbiAiJGNtZCIgXSAmJiBvdXRwdXQ9JChjb21tYW5kICIkY21kIiBwYXNzd2QgIiRVU0VSIiAyPi9kZXYvbnVsbCkgXAogICAgJiYgbG9naW5fc2hlbGxfaXNfb2sgIiRvdXRwdXQiCn0KdXNpbmdfaWQoKSB7CiAgICBjbWQ9JChjb21tYW5kIC12IGlkKSAmJiBbIC1uICIkY21kIiBdICYmIG91dHB1dD0kKGNvbW1hbmQgIiRjbWQiIC1QICIkVVNFUiIgMj4vZGV2L251bGwpIFwKICAgICYmIGxvZ2luX3NoZWxsX2lzX29rICIkb3V0cHV0Igp9CmRldGVjdF9weXRob24oKSB7CiAgICBpZiBbIHB5dGhvbl9kZXRlY3RlZCA9ICIxIiBdOyB0aGVuCiAgICAgICAgWyAtbiAiJHB5dGhvbiIgXSAmJiByZXR1cm4gMAogICAgICAgIHJldHVybiAxCiAgICBmaQogICAgcHl0aG9uX2RldGVjdGVkPSIxIgogICAgcHl0aG9uPSQoY29tbWFuZCAtdiBweXRob24zKQogICAgWyAteiAiJHB5dGhvbiIgXSAmJiBweXRob249JChjb21tYW5kIC12IHB5dGhvbjIpCiAgICBbIC16ICIkcHl0aG9uIiBdICYmIHB5dGhvbj0kKGNvbW1hbmQgLXYgcHl0aG9uKQogICAgaWYgWyAteiAiJHB5dGhvbiIgLW8gISAteCAiJHB5dGhvbiIgXTsgdGhlbiBweXRob249IiI7IHJldHVybiAxOyBmaQogICAgbG9nIG5vIHB5dGhvbgogICAgcmV0dXJuIDAKfQp1c2luZ19weXRob24oKSB7CiAgICBkZXRlY3RfcHl0aG9uICYmIG91dHB1dD0kKGNvbW1hbmQgIiRweXRob24iIC1jICJpbXBvcnQgcHdkLCBvczsgcHJpbnQocHdkLmdldHB3dWlkKG9zLmdldGV1aWQoKSkucHdfc2hlbGwpIikgXAogICAgJiYgbG9naW5fc2hlbGw9IiRvdXRwdXQiICYmIGxvZ2luX3NoZWxsX2lzX29rCn0KZGV0ZWN0X3BlcmwoKSB7CiAgICBpZiBbIHBlcmxfZGV0ZWN0ZWQgPSAiMSIgXTsgdGhlbgogICAgICAgIFsgLW4gIiRwZXJsIiBdICYmIHJldHVybiAwCiAgICAgICAgcmV0dXJuIDEKICAgIGZpCiAgICBwZXJsX2RldGVjdGVkPSIxIgogICAgcGVybD0kKGNvbW1hbmQgLXYgcGVybCkKICAgIGlmIFsgLXogIiRwZXJsIiAtbyAhIC14ICIkcGVybCIgXTsgdGhlbiBwZXJsPSIiOyByZXR1cm4gMTsgZmkKICAgIGxvZyBubyBwZXJsCiAgICByZXR1cm4gMAp9CnVzaW5nX3BlcmwoKSB7CiAgICBkZXRlY3RfcGVybCAmJiBvdXRwdXQ9JChjb21tYW5kICIkcGVybCIgLWUgJ215ICRzaGVsbCA9IChnZXRwd3VpZCgkPCkpWzhdOyBwcmludCAkc2hlbGwnKSBcCiAgICAmJiBsb2dpbl9zaGVsbD0iJG91dHB1dCIgJiYgbG9naW5fc2hlbGxfaXNfb2sKfQp1c2luZ19zaGVsbF9lbnYoKSB7CiAgICBbIC1uICIkU0hFTEwiIF0gJiYgbG9naW5fc2hlbGw9IiRTSEVMTCIgJiYgbG9naW5fc2hlbGxfaXNfb2sKfQpndWVzc19sb2dpbl9zaGVsbCgpIHsKICAgIFsgLW4gIiRsb2dpbl9zaGVsbCIgXSB8fCB1c2luZ19nZXRlbnQgfHwgdXNpbmdfaWQgfHwgdXNpbmdfcHl0aG9uIHx8IHVzaW5nX3BlcmwgfHwgdXNpbmdfcGFzc3dkIHx8IHVzaW5nX3NoZWxsX2VudiB8fCBsb2dpbl9zaGVsbD0ic2giCiAgICBwcmludGYgIiVzIiAke2xvZ2luX3NoZWxsfQogICAgbG9nIGxvZ2luIHNoZWxsIGlzICR7bG9naW5fc2hlbGx9Cn0KZXhlY3V0ZV93aXRoX3BlcmwoKSB7CiAgICBpZiBkZXRlY3RfcGVybDsgdGhlbgogICAgICAgIGxvZyBleGVjdXRlIGxvZ2luIHNoZWxsIHVzaW5nIHBlcmwKICAgICAgICBleGVjICIkcGVybCIgIi1lIiAiZXhlYyB7JyRsb2dpbl9zaGVsbCd9ICctJHNoZWxsX25hbWUnIgogICAgZmkKICAgIHJldHVybiAxCn0KZXhlY3V0ZV93aXRoX3B5dGhvbigpIHsKICAgIGlmIGRldGVjdF9weXRob247IHRoZW4KICAgICAgICBsb2cgZXhlY3V0ZSBsb2dpbiBzaGVsbCB1c2luZyBweXRob24KICAgICAgICBleGVjICIkcGVybCIgIi1lIiAiZXhlYyB7JyRsb2dpbl9zaGVsbCd9ICctJHNoZWxsX25hbWUnIgogICAgICAgIGV4ZWMgIiRweXRob24iICItYyIgImltcG9ydCBvczsgb3MuZXhlY2xwKCckbG9naW5fc2hlbGwnLCAnLScgJyRzaGVsbF9uYW1lJykiCiAgICBmaQogICAgcmV0dXJuIDEKfQpleGVjX2xvZ2luX3NoZWxsKCkgewogICAgbG9jYWwgbG9naW5fc2hlbGw9JHsxfQogICAgbG9nIGV4ZWNfbG9naW5fc2hlbGwgIiRsb2dpbl9zaGVsbCIKICAgIFsgIiQoZXhlYyAtYSBlY2hvIGVjaG8gT0sgMj4gL2Rldi9udWxsKSIgPSAiT0siIF0gJiYgZXhlYyAtYSAiLSRzaGVsbF9uYW1lIiAiJGxvZ2luX3NoZWxsIgogICAgbG9nIGZhaWxlZCwgdHJ5IHB5dGhvbgogICAgZXhlY3V0ZV93aXRoX3B5dGhvbgogICAgbG9nIGZhaWxlZCwgdHJ5IHBlcmwKICAgIGV4ZWN1dGVfd2l0aF9wZXJsCiAgICBsb2cgZmFpbGVkLCBqdXN0IHJ1biBpdCB3aXRoIC1sCiAgICBleGVjICIkbG9naW5fc2hlbGwiICItbCIKICAgIGxvZyBmYWlsZWQgY29tcGxldGVseQogICAgcHJpbnRmICIlc1xuIiAiQ291bGQgbm90IGV4ZWN1dGUgdGhlIHNoZWxsICRsb2dpbl9zaGVsbCBhcyBhIGxvZ2luIHNoZWxsIiA+IC9kZXYvc3RkZXJyCiAgICBleGVjICIkbG9naW5fc2hlbGwiCn0KY29uZHVjdG9yX2NtZF9leGVjX2xvZ2luX3NoZWxsKCkgewogICAgbG9nIGNvbmR1Y3Rvcl9jbWRfZXhlY19sb2dpbl9zaGVsbAogICAgZXhlY19zaGVsbD0xCn0KcmVhbGx5X2V4ZWNfbG9naW5fc2hlbGwoKSB7CiAgICBleGVjX2xvZ2luX3NoZWxsICQoY29tbWFuZCBiYXNlbmFtZSAkKGd1ZXNzX2xvZ2luX3NoZWxsKSkKfQpjb25kdWN0b3JfY21kX3NldGVudigpIHsKICAgIGxvZyBjb25kdWN0b3JfY21kX3NldGVudgogICAgaWYgWyAiJCMiIC1uZSAyIF07IHRoZW4KICAgICAgICBsb2cgYmFkIGFyZ3MKICAgICAgICAoZXhpdCAxKQogICAgICAgIHJldHVybgogICAgZmkKICAgIGxvY2FsIG5hbWU9JDEKICAgIGxvY2FsIHZhbHVlPSQyCiAgICBsb2cgc2V0ZW52ICR7bmFtZX09JHt2YWx1ZX0KICAgIGV4cG9ydCAke25hbWV9PSR7dmFsdWV9Cn0KY29uZHVjdG9yX2NtZF9ydW4oKSB7CiAgICBsb2cgY29uZHVjdG9yX2NtZF9ydW4KICAgIHJ1bl9jbWQ9MQp9CmNvbmR1Y3Rvcl9jbWRfcnVucHl0aG9uKCkgewogICAgbG9nIGNvbmR1Y3Rvcl9jbWRfcnVucHl0aG9uCiAgICBydW5fcHl0aG9uPTEKfQpyZWFsbHlfcnVuX3B5dGhvbigpIHsKICBsb2cgcmVhbGx5X3J1bl9weXRob24KICByY2U9JwppbXBvcnQgb3MKaW1wb3J0IHN5cwp0dHlfcGF0aCA9IG9zLnR0eW5hbWUoc3lzLnN0ZG91dC5maWxlbm8oKSkKc3lzLnN0ZGluID0gb3Blbih0dHlfcGF0aCwgInIiKQp0cnk6CiAgcHJpbnQoZiJcMDMzXTEzNTs6e29zLmdldHBpZCgpfVwwMzNcXFwwMzNdMTM1OzplbmQgJyIkYm91bmRhcnkiJyByIDBcMDMzXFwiLCBlbmQ9IiIsIGZsdXNoPVRydWUpCiAgcHJvZ3JhbT0iIgogIGZvciBsaW5lIGluIHN5cy5zdGRpbjoKICAgIGlmIGxpbmUucnN0cmlwKCkgPT0gIkVPRiI6CiAgICAgIGV4ZWMocHJvZ3JhbSkKICAgICAgcHJpbnQoZiJcMDMzXTEzNTs6dW5ob29rXDAzM1xcIiwgZW5kPSIiLCBmbHVzaD1UcnVlKQogICAgICBicmVhawogICAgcHJvZ3JhbSArPSBsaW5lCmV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICBwcmludChlKQonCiAgZXhlYyBweXRob24zIDw8PCAiJHJjZSIKICBsb2cgInVuZXhwZWN0ZWQgcmV0dXJuIGZyb20gZXhlYyIKICBleGl0IDAKfQpyZWFsbHlfcnVuKCkgewogICAgbG9nICJyZWFsbHlfcnVuICRAIgogICAgaWYgWyAiJCMiIC1sdCAxIF07IHRoZW4KICAgICAgICBsb2cgYmFkIGFyZ3MKICAgICAgICAoZXhpdCAxKQogICAgICAgIHJldHVybgogICAgZmkKICAgIGxvZyBleGVjICIkU0hFTEwiIC1jICIkKiIKICAgIHByaW50ZiAiXGVdMTM1OzoiCiAgICBleGVjICIkU0hFTEwiIC1jICIkKiIKICAgIHByaW50ZiAiXGVcXCIKfQpjb25kdWN0b3JfY21kX3NoZWxsKCkgewogICAgbG9nIGNvbmR1Y3Rvcl9jbWRfc2hlbGwKICAgIGlmIFsgIiQjIiAtbHQgMiBdOyB0aGVuCiAgICAgICAgbG9nIGJhZCBhcmdzCiAgICAgICAgKGV4aXQgMSkKICAgICAgICByZXR1cm4KICAgIGZpCiAgICBwcmludGYgIlxlXTEzNTs6IgogICAgc2V0ICtlCiAgICBzZXQgK28gcGlwZWZhaWwKICAgICQqCiAgICBwcmludGYgIlxlXFwiCn0KY29uZHVjdG9yX2NtZF93cml0ZSgpIHsKICAgIGxvZyBjb25kdWN0b3JfY21kX3dyaXRlCiAgICBsb2cgaGF2ZSAkIyBhcmd1bWVudHMKICAgIGlmIFsgIiQjIiAtbmUgMiBdOyB0aGVuCiAgICAgICAgbG9nIGJhZCBhcmdzCiAgICAgICAgKGV4aXQgMSkKICAgICAgICByZXR1cm4KICAgIGZpCiAgICBsb2cgd2lsbCB3cml0ZSB0byAiJDIiCiAgICBsb2NhbCBiNjRkYXRhPSQxCiAgICBsb2NhbCBkZXN0aW5hdGlvbj0kKGV2YWwgcHJpbnRmICVzICIkMiIpCiAgICBta2RpciAtcCAiJGRlc3RpbmF0aW9uIiB8fCB0cnVlCiAgICBsb2cgd3JpdGluZyB0byAkZGVzdGluYXRpb24gYmFzZWQgb24gJDIKICAgIG9sZF91bWFzaz0kKHVtYXNrKQogICAgdW1hc2sgMDAwCiAgICBwcmludGYgIiVzIiAke2I2NGRhdGF9IHwgYmFzZTY0X2RlY29kZSB8IGNvbW1hbmQgdGFyICJ4cHpmIiAiLSIgIi1DIiAiJGRlc3RpbmF0aW9uIgogICAgbG9jYWwgcmM9JD8KICAgIHVtYXNrICIkb2xkX3VtYXNrIgogICAgKGV4aXQgJHJjKQp9CmNvbmR1Y3Rvcl9jbWRfY2QoKSB7CiAgICBsb2cgY2QKICAgIGlmIFsgIiQjIiAtbmUgMSBdOyB0aGVuCiAgICAgICAgbG9nICJiYWQgYXJncyIKICAgICAgICAoZXhpdCAxKQogICAgICAgIHJldHVybgogICAgZmkKICAgIGxvY2FsIGRpcj0kMQogICAgbG9nIGNkICRkaXIKICAgIGNkICIkZGlyIiA+IC9kZXYvbnVsbCAyPiYxCn0KY29uZHVjdG9yX2NtZF9xdWl0KCkgewogICAgbG9nIHF1aXQKICAgIHF1aXQ9MQp9CmNvbmR1Y3Rvcl9jbWRfZ2V0c2hlbGwoKSB7CiAgICBsb2cgZ2V0c2hlbGwKICAgIHByaW50ZiAiXGVdMTM1OzoiCiAgICBzaGVsbD0kKGd1ZXNzX2xvZ2luX3NoZWxsKQogICAgZWNobyAiJHNoZWxsIgogICAgZWNobyB+CiAgICAkc2hlbGwgLS12ZXJzaW9uIHx8IHRydWUKICAgIHByaW50ZiAiXGVcXCIKfQpjb25kdWN0b3JfY21kX2V2YWwoKSB7CiAgICBsb2cgImV2YWwgJEAiCiAgICBsb2NhbCBiNjQ9IiQxIgogICAgbG9jYWwgbXlkaXI9JChta3RlbXAgLWQgIiR7VE1QRElSOi0vdG1wL31pdDJzc2guWFhYWFhYWFhYWFhYIikKICAgIGxvY2FsIGZpbGU9IiRteWRpci9pdDJzc2gtZXZhbCIKICAgIGxvZyAibXlkaXI9JG15ZGlyIHRtcGRpcj0ke1RNUERJUjotL3RtcC99IGZpbGU9JGZpbGUiCiAgICBiYXNlNjRfZGVjb2RlIDw8PCAiJGI2NCIgPiAiJGZpbGUiCiAgICBzb3VyY2UgIiRmaWxlIgogICAgcm0gLWYgIiRmaWxlIgogICAgbG9nICIkZmlsZSIgZmluaXNoZWQgZXhlY3V0aW5nCn0Kd3JpdGUoKSB7CiAgICBwcmludGYgIlxlXTEzNTs6JXNcZVxcIiAiJCoiCn0KaGFuZGxlX2NvbW1hbmQoKSB7CiAgICBsb2NhbCB1bnBhcnNlZD0kezF9CiAgICBsb2cgaGFuZGxlX2NvbW1hbmQgJHVucGFyc2VkCiAgICBsb2NhbCBjbWRfbmFtZT0kKGZpcnN0X3dvcmQgIiR7dW5wYXJzZWR9IikKICAgIGxvZyBjbWRfbmFtZSBpcyAkY21kX25hbWUKICAgIGxvY2FsIGFyZ3M9JChkcm9wX2ZpcnN0X3dvcmQgIiR7dW5wYXJzZWR9IikKICAgIGxvZyBhcmdzIGlzICRhcmdzCiAgICBsb2NhbCBib3VuZGFyeT0iJHtSQU5ET019JHtSQU5ET019JHtSQU5ET019JHtSQU5ET019IgogICAgd3JpdGUgYmVnaW4gJGJvdW5kYXJ5CiAgICBsb2cgaW52b2tlICRjbWRfbmFtZSB3aXRoIGFyZ3VtZW50cyAkYXJncwogICAgc2V0ICtlCiAgICBzZXQgK28gcGlwZWZhaWwKICAgIGlmIFtbICQodHlwZSAtdCBjb25kdWN0b3JfY21kXyR7Y21kX25hbWV9KSA9PSBmdW5jdGlvbiBdXTsgdGhlbgogICAgICAgIGNvbmR1Y3Rvcl9jbWRfJHtjbWRfbmFtZX0gJGFyZ3MKICAgIGVsc2UKICAgICAgICB3cml0ZSAiYmFkIGNvbW1hbmQgJHtjbWRfbmFtZX0iCiAgICAgICAgZmFsc2UKICAgIGZpCiAgICBpZiBbWyAkcnVuX3B5dGhvbiA9PSAxIF1dOyB0aGVuCiAgICAgICAgcmVhbGx5X3J1bl9weXRob24gIiRib3VuZGFyeSIKICAgIGZpCiAgICB3cml0ZSBlbmQgJGJvdW5kYXJ5ICQ/IHIKICAgIGlmIFtbICRxdWl0ID09IDEgXV07IHRoZW4KICAgICAgICBleGl0IDAKICAgIGZpCiAgICBpZiBbWyAkZXhlY19zaGVsbCA9PSAxIF1dOyB0aGVuCiAgICAgICAgbG9nIHN1Y2Nlc3NmdWxseSBleGVjdXRlZCB0aGUgbG9naW4gc2hlbGwuIFVuaG9vay4KICAgICAgICB3cml0ZSB1bmhvb2sKICAgICAgICBjbGVhbnVwCiAgICAgICAgcmVhbGx5X2V4ZWNfbG9naW5fc2hlbGwKICAgIGZpCiAgICBpZiBbWyAkcnVuX2NtZCA9PSAxIF1dOyB0aGVuCiAgICAgICAgbG9nIHN1Y2Nlc3NmdWxseSByYW4gYSBjb21tYW5kLiBVbmhvb2suCiAgICAgICAgd3JpdGUgdW5ob29rCiAgICAgICAgY2xlYW51cAogICAgICAgIHJlYWxseV9ydW4gJGFyZ3MKICAgIGZpCiAgICBzZXQgLWUKICAgIHNldCAtbyBwaXBlZmFpbAp9Cml0ZXJhdGUoKSB7CiAgICBsb2cgaXRlcmF0ZQogICAgbGluZT0iIgogICAgd2hpbGUgdHJ1ZTsgZG8KICAgICAgICByZWFkIHBhcnQKICAgICAgICBsb2cgcmVhZCBwYXJ0ICIkcGFydCIKICAgICAgICBpZiBbIC16ICIkcGFydCIgXTsgdGhlbgogICAgICAgICAgICBicmVhawogICAgICAgIGZpCiAgICAgICAgbGluZT0iJHtsaW5lfSR7cGFydH0iCiAgICBkb25lCiAgICBsb2cgcmVhZCBsaW5lICIkbGluZSIKICAgIGhhbmRsZV9jb21tYW5kICIkbGluZSIKfQpkcmFpbl9zdGRpbigpIHsKICBsb2cgZHJhaW5fc3RkaW4KICBzdHR5IC1lY2hvIC1pY2Fub24gdGltZSAwIG1pbiAwCiAgd2hpbGUgOgogIGRvCiAgICAgIGtleT0iJChwcmludGYgeDsgZGQgYnM9MSBjb3VudD0xIDI+IC9kZXYvbnVsbDsgcHJpbnRmIHgpIgogICAgICBpZiBbWyAiJGtleSIgPT0gInh4IiBdXTsgdGhlbgogICAgICAgICAgbG9nICJkb25lIGRyYWluaW5nIgogICAgICAgICAgYnJlYWsKICAgICAgZmkKICAgICAgbG9nICIka2V5IgogIGRvbmUKICBjbGVhbnVwCn0KbWFpbigpIHsKICAgIGxvY2FsIHRva2VuPSIkMSIKICAgIGxvY2FsIHVuaXF1ZWlkPSIkMiIKICAgIGxvY2FsIGJvb2xlYW5hcmdzPSIkMyIKICAgIGxvY2FsIHNzaGFyZ3M9IiQ0IgogICAgbG9nIHN0YXJ0aW5nIHdpdGggdG9rZW4gJHRva2VuCiAgICBsb2cgJChlbnYpCiAgICBsb2cgInRva2VuOiAkdG9rZW4iCiAgICBsb2cgInVuaXF1ZWlkOiAkdW5pcXVlaWQiCiAgICBsb2cgImJvb2xlYW5hcmdzOiAkYm9vbGVhbmFyZ3MiCiAgICBsb2cgInNzaGFyZ3M6ICRzc2hhcmdzIgogICAgdHJhcCAiY2xlYW51cCIgRVhJVAogICAgZHJhaW5fc3RkaW4KICAgIHN0dHkgLWVjaG8gLW9ubGNyIC1vcG9zdAogICAgcHJpbnRfZGNzICIkdG9rZW4iICIkdW5pcXVlaWQiICIkYm9vbGVhbmFyZ3MiICIkc3NoYXJncyIKICAgIGxvZyBiZWdpbiBtYWlubG9vcAogICAgd2hpbGUgdHJ1ZTsgZG8KICAgICAgICBpdGVyYXRlCiAgICBkb25lCn0K"
49
-
50
- # Trying to escape this broke me.
51
- eval_cmd=$( printf %s " J2V2YWwgIiQoZWNobyAiJDAiIHwgdHIgXFxcdlxcXGZcXFxyXFxcYiBcXFwwNDdcXFwxMzRcXFxuXFxcMDQxKSInIA==" | base64_decode)
52
-
53
- sanitized=" $( printf %s " $conductor " | base64_decode | tr " \!'\n\\ " \\ b\\ v\\ r\\ f) "
48
+ eval_cmd=\' ' eval "$(echo "$0")"' \'
54
49
55
50
SSH=/usr/bin/ssh
56
51
if [[ " $OSTYPE " == " darwin" * ]]; then
139
134
# to the login shell's history.
140
135
ENCODED_BA=$( printf %s " $BOOLEAN_ARGS " | base64_encode)
141
136
137
+ # Send arguments to conductor.sh
138
+ print_osc
139
+ printf " 1337;it2ssh=$TOKEN ${UNIQUEID} $ENCODED_BA $SSHARGS "
140
+ print_st
141
+
142
+ if [[ $TERM == screen* ]]; then
143
+ st=' \a\033\\'
144
+ else
145
+ st=' \a'
146
+ fi
147
+ send_conductor=' printf "\033]1337;SendConductor' " $st " ' "'
148
+
149
+ # Run a command on the remote host that instructs iTerm2 to send a script, then reads the script and executes it.
150
+ sanitized=" $send_conductor " ' ;s="";IFS=""; stty -echo; while read -r l;do [ "$l" = EOF ]&&break; s="$s$l\n"; done; unset IFS; eval "$s"'
151
+
142
152
# If ssh gets a signal, let it2ssh keep running.
143
153
set +e
144
154
@@ -150,9 +160,15 @@ exec \
150
160
sh \
151
161
-c \
152
162
" $eval_cmd " \
153
- \' " $sanitized main $TOKEN ${UNIQUEID} $ENCODED_BA $SSHARGS " \'
163
+ \' " $sanitized " \'
154
164
155
165
print_osc
156
166
printf " 1337;EndSSH=%s" " ${UNIQUEID} "
157
167
print_st
158
168
169
+ # If ssh dies after send_conductor is sent, we don't want conductor.sh to go to
170
+ # the command line. Read until EndSSH causes a blank line to be sent.
171
+ while read l; do
172
+ [ -z " $l " ] && break
173
+ done
174
+
You can’t perform that action at this time.
0 commit comments