30 #define DISABLE_DEBUGLOG
41 #include <gwenhywfar/gui_be.h>
42 #include <gwenhywfar/inherit.h>
43 #include <gwenhywfar/debug.h>
44 #include <gwenhywfar/misc.h>
45 #include <gwenhywfar/db.h>
46 #include <gwenhywfar/gwentime.h>
47 #include <gwenhywfar/mdigest.h>
48 #include <gwenhywfar/text.h>
79 cgui->progressList=GWEN_Gui_CProgress_List_new();
105 cgui=(GWEN_GUI_CGUI*)p;
106 GWEN_Gui_CProgress_List_free(cgui->progressList);
171 #ifdef HAVE_TERMIOS_H
172 struct termios OldAttr, NewAttr;
175 #if HAVE_DECL_SIGPROCMASK
180 #if HAVE_DECL_SIGPROCMASK
182 sigaddset(&snew, SIGINT);
183 sigaddset(&snew, SIGSTOP);
184 sigprocmask(SIG_BLOCK, &snew, &sold);
186 #ifdef HAVE_TERMIOS_H
187 if (0 == tcgetattr (fileno (stdin), &OldAttr)){
189 NewAttr.c_lflag &= ~ICANON;
190 NewAttr.c_lflag &= ~ECHO;
191 tcsetattr (fileno (stdin), TCSAFLUSH, &NewAttr);
200 chr==GWEN_GUI_CGUI_CHAR_ABORT ||
201 chr==GWEN_GUI_CGUI_CHAR_ENTER ||
209 #ifdef HAVE_TERMIOS_H
212 tcsetattr (fileno (stdin), TCSADRAIN, &OldAttr);
215 #if HAVE_DECL_SIGPROCMASK
216 sigprocmask(SIG_BLOCK, &sold, 0);
230 #ifdef HAVE_TERMIOS_H
231 struct termios OldInAttr, NewInAttr;
232 struct termios OldOutAttr, NewOutAttr;
233 int AttrInChanged = 0;
234 int AttrOutChanged = 0;
239 #if HAVE_DECL_SIGPROCMASK
245 #if HAVE_DECL_SIGPROCMASK
247 sigaddset(&snew, SIGINT);
248 sigaddset(&snew, SIGSTOP);
249 sigprocmask(SIG_BLOCK, &snew, &sold);
252 #ifdef HAVE_TERMIOS_H
253 if (0 == tcgetattr (fileno (stdin), &OldInAttr)){
254 NewInAttr = OldInAttr;
255 NewInAttr.c_lflag &= ~ECHO;
256 NewInAttr.c_lflag &= ~ICANON;
257 tcsetattr (fileno (stdin), TCSAFLUSH, &NewInAttr);
260 if (0 == tcgetattr (fileno (stderr), &OldOutAttr)){
261 NewOutAttr = OldOutAttr;
262 NewOutAttr.c_lflag &= ~ICANON;
263 tcsetattr (fileno (stderr), TCSAFLUSH, &NewOutAttr);
272 if (chr==GWEN_GUI_CGUI_CHAR_DELETE) {
275 fprintf(stderr,
"%c %c", 8, 8);
278 else if (chr==GWEN_GUI_CGUI_CHAR_ENTER) {
279 if (minLen && pos<minLen) {
285 I18N(
"Your input was empty.\n"
286 "Do you want to use the default?"),
289 I18N(
"Abort"), guiid);
301 fprintf(stderr,
"\007");
305 fprintf(stderr,
"\n");
313 if (chr==GWEN_GUI_CGUI_CHAR_ABORT) {
322 fprintf(stderr,
"\007");
326 fprintf(stderr,
"%c", chr);
328 fprintf(stderr,
"*");
336 fprintf(stderr,
"\007");
341 #ifdef HAVE_TERMIOS_H
344 tcsetattr (fileno (stderr), TCSADRAIN, &OldOutAttr);
346 tcsetattr (fileno (stdin), TCSADRAIN, &OldInAttr);
349 #if HAVE_DECL_SIGPROCMASK
350 sigprocmask(SIG_BLOCK, &sold, 0);
379 "Got the following dangerous message:\n%s\n",
386 "Auto-answering the following message with %d:\n%s",
394 fprintf(stderr,
"===== %s =====\n", title);
400 fprintf(stderr,
"(1) %s", b1);
402 fprintf(stderr,
" (2) %s", b2);
404 fprintf(stderr,
" (3) %s", b3);
407 fprintf(stderr,
"\n");
409 fprintf(stderr,
"Please enter your choice: ");
413 fprintf(stderr,
"Aborted.\n");
419 fprintf(stderr,
"1\n");
422 else if (c==
'2' && b2) {
423 fprintf(stderr,
"2\n");
426 else if (c==
'3' && b3) {
427 fprintf(stderr,
"3\n");
431 fprintf(stderr,
"%c", 7);
454 fprintf(stderr,
"===== %s =====\n", title);
463 lbuffer=(
char*)malloc(maxLen);
468 fprintf(stderr,
"Input: ");
475 fprintf(stderr,
"Again: ");
481 if (strcmp(lbuffer, buffer)!=0) {
483 "ERROR: Entries do not match, please try (again or abort)\n");
493 fprintf(stderr,
"Input: ");
519 fprintf(stderr,
"----- %s -----\n", title);
524 return ++(cgui->nextBoxId);
542 uint32_t progressFlags,
555 ++(cgui->nextProgressId),
560 GWEN_Gui_CProgress_List_Insert(cp, cgui->progressList);
574 cp=GWEN_Gui_CProgress_List_First(cgui->progressList);
580 cp=GWEN_Gui_CProgress_List_Next(cp);
669 GWEN_Gui_CProgress_List_Del(cp);
741 "Automatically accepting certificate [%s]",
753 "Automatically accepting valid new certificate [%s]",
760 "Automatically rejecting certificate [%s] (noninteractive)",
767 if (cgui->checkCertFn) {
768 i=cgui->checkCertFn(gui, cd, sio, guiid);
793 cgui->dbCerts=dbCerts;
805 return cgui->dbCerts;