the relivent code snipit is> 0x00000: 2f 62 69 6e 2f 70 61 73 73 77 64 0d 0a /bin/pa +sswd.. < 0x00000: 2f / < 0x00000: 62 69 6e 2f 70 61 73 73 77 64 0d 0a 70 61 73 73 bin/pas +swd..pass < 0x00010: 77 64 3a 20 20 43 68 61 6e 67 69 6e 67 20 70 61 wd: Ch +anging pa < 0x00020: 73 73 77 6f 72 64 20 66 6f 72 20 70 72 69 65 68 ssword +for prieh < 0x00030: 65 63 6b 0d 0a eck.. < 0x00000: 45 6e 74 65 72 20 6c 6f 67 69 6e 28 4e 49 53 2b Enter l +ogin(NIS+ < 0x00010: 29 20 70 61 73 73 77 6f 72 64 3a 20 ) passw +ord:
in addition to not sending passwords out it also does not call the report_error function found after the or and instead uses the default error action (which I have changed to call report_error rather then die) i am assuming this is a timeout which calls this error, however, why is it not calling the or statement?$telnet->dump_log("log.log"); $telnet->cmd($PASSWD) or report_error("ERROR", "No password prompt + found, contact Information Technologies: "); $telnet->waitfor('/password: ?$/i') or report_error("ERROR", "No p +assword prompt found, contact Information Technologies: "); $telnet->print($password); $telnet->waitfor('/password: ?$/i') or report_error("ERROR", "No p +assword prompt found, contact Information Technologies: "); $telnet->print($new_password); $telnet->waitfor('/password: ?$/i') or report_error("ERROR", "No p +assword prompt found, contact Information Technologies: "); $telnet->print($new_password); $telnet->waitfor('/changed/');
by the way thanks for all the help that was, is, and will be
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |