|
|
1.1 ! root 1: #include "../include/curses.h" ! 2: #include <string.h> ! 3: #include <unistd.h> ! 4: #include <stdlib.h> ! 5: ! 6: void get_iscsi_chap_secret( char * ); ! 7: void mdelay( int msecs ); ! 8: ! 9: int main ( void ) { ! 10: char secret[16]; ! 11: initscr(); ! 12: echo(); ! 13: werase(stdscr); ! 14: box( stdscr, '|', '-' ); ! 15: get_iscsi_chap_secret(secret); ! 16: ! 17: mvwprintw( stdscr, 3, 5, "password is \"%s\"", secret ); ! 18: mdelay(2500); ! 19: ! 20: stdscr->scr->exit(stdscr->scr); ! 21: ! 22: return 0; ! 23: } ! 24: ! 25: void get_iscsi_chap_secret( char *sec ) { ! 26: char *title = "Set new iSCSI CHAP secret", ! 27: *msg = "Configure the iSCSI access secret", ! 28: pw1[17], pw2[17]; ! 29: WINDOW *secret; ! 30: ! 31: secret = newwin( stdscr->height / 2, ! 32: stdscr->width / 2, ! 33: stdscr->height / 4, ! 34: stdscr->width / 4 ); ! 35: ! 36: wborder( secret, '|', '|', '-', '-', '+', '+', '+', '+' ); ! 37: mvwprintw( secret, 1, 2, "%s", title ); ! 38: mvwhline( secret, 2, 1, '-' | secret->attrs, secret->width - 2 ); ! 39: mvwprintw( secret, 4, 2, "%s", msg ); ! 40: mvwprintw( secret, 6, 3, "secret" ); ! 41: mvwprintw( secret, 8, 3, "confirm" ); ! 42: start: ! 43: mvwhline( secret, 6, 12, '_' | secret->attrs, 16 ); ! 44: mvwhline( secret, 8, 12, '_' | secret->attrs, 16 ); ! 45: ! 46: wmove( secret, 6, 12 ); ! 47: wgetnstr( secret, pw1, 16 ); ! 48: wmove( secret, 8, 12 ); ! 49: wgetnstr( secret, pw2, 16 ); ! 50: ! 51: if ( strcmp( pw1, pw2 ) == 0 ) { ! 52: strcpy( sec, pw1 ); ! 53: werase( secret ); ! 54: } ! 55: else { ! 56: mvwprintw( secret, 10, 3, "Passwords do not match" ); ! 57: goto start; ! 58: } ! 59: } ! 60: ! 61: void mdelay ( int msecs ) { ! 62: usleep( msecs * 1000 ); ! 63: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.