RJ is a network geek who fell hopelessly in love with TCL and Expect in the line of duty. Stop him before he scripts again. I picked up the Libes' book on Expect and the Ousterhout book on TCL and started from scratch. The initial goal was to create a script that would give a user a secure way to script logins to various network devices. In two years, it has become a monster. At last count, it is capable of scripted logins to 42 different flavors of network devices and servers. GO (now a full fledged application, judging by descriptions on the Wiki), is very proprietary, but with some help from the real programmers here, it could be redesigned so that any proprietary procedures could be minimized - thus making GO more adaptable to other implementations. So, I will be sanitizing the GO application and posting it to new pages linked from this page to give y'all a chance to beat it up. That will take some time though. In the meantime, here is what it's about - if this wheel already exists, please let me know where: * maintains an encrypted password directory taken from an external source and encrypted using unix DES with the user's TACACS password as the key. TACACS is a server assisted login procedure. * determines device type by it's prompt if possible and uses the TACACS password to decrypt the necessary passwords for the login. If the device is TACACS controlled, GO uses tacacs acct to login. * provides context sensitive (by device type) utility menus for labor intensive or common procedures on that device * allows session scripting (thanks to Mr. Libes' Expect session logging) by hot-key toggle, among other hot-key features. * runs on a Unix (Sun Solaris) platform only as far as I know * because it needs to be run via ssh from outside our intranet for tech support, tk was out of the question (??) I strongly note, admit and plead guilty to not knowing what I am doing. GO evolved over my two year learning curve and much of it remains as it began - a first effort. There has never been any optimization attempted, and there are global variables still there that may not be used anymore. In any case, from a week of reading through this wiki, it's clear I really overutilize global variables. Thanks for the forum, JCW and all who contribute. ---- * '''Main''' - [GO startup] * [parse_cmd_line] - self-explanatory * [banner] - sort of a spash page * [divider] - like a messagebox widget ---- ''Questions to RJ here [[example: Why would you code it that way????]''