Upgrading to Os X Catalina broke my working XOJO app which uses a shell obj to talk with a MySQL database on a networked MacMini (also Catalina). No luck with rebuilding the project in the current XOJO 2019 R2.1. Connect using ssh via Terminal works as expected, but when I use the same correct connect string in the Shell obj I now get “Pseudo-terminal will not be allocated because stdin is not a terminal” as the return, where previously the prompt for password was always the return, as it is when using Terminal. I rechecked this with the XOJO AsynchShell example program, resulting in the same “Pseudo-Terminal…” return. This behavior has also been verified by XOJO Technical Support, but they haven’t been able to come up with an answer or a work-around. Anybody else having this problem or knowledgeable in this area?
In a shell script, it’s possible to read a pasword from the keychain, and I suspect this is the “approved” way of doing it now.
Something like this:
# To use this, first create a new password in the keychain app named "MyApp UserPassword"
# The next two shell lines read the userID and password from the keychain item:
user=$(security find-generic-password -s "MyApp UserPassword" | sed -n 's/^[[:space:]]*"acct"<blob>="\\(.*\\)"/\\1/p');
password=$(security find-generic-password -s "MyApp UserPassword" -w);