|
|
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.