⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prefs_dialog.c

📁 大国补丁后的nessus2.2.8的源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
  menuitem = gtk_menu_item_new_with_mnemonic(_("_Users Manual"));  menuitem_add(menuitem, submenu, NULL, NULL,      GTK_SIGNAL_FUNC(show_users_manual));  menuitem = gtk_menu_item_new_with_mnemonic(_("_About"));  menuitem_add(menuitem, submenu, NULL, NULL,      GTK_SIGNAL_FUNC(prefs_dialog_about));/* hbox with toolbar+scopetree-vbox and notebook */  hbox = gtk_hbox_new(FALSE, 4);  gtk_widget_show(hbox);  gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0);  hpaned = gtk_hpaned_new();  gtk_widget_ref(hpaned);  gtk_paned_set_position(GTK_PANED(hpaned), 210);  gtk_widget_show(hpaned);  gtk_box_pack_start(GTK_BOX(hbox), hpaned, TRUE, TRUE, 0);  gtk_container_set_border_width(GTK_CONTAINER(hbox), 4);  vbox = gtk_vbox_new(FALSE, 0);  gtk_widget_show(vbox);  gtk_container_add(GTK_CONTAINER(hpaned), vbox);/* * The Toolbar */  toolbar = gtk_toolbar_new();  gtk_widget_show(toolbar);  gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);  gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);  arg_add_value(ctrls, "TOOLBAR", ARG_PTR, -1, toolbar);  icon = gtk_image_new_from_stock("gtk-help",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("Scan Assistant"), _("Scan Assistant"),      NULL, icon, GTK_SIGNAL_FUNC(prefs_scan_assistant), MainDialog);  gtk_widget_show(toolbar_button);  icon = gtk_image_new_from_stock("gtk-new",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("New"), _("New"),      NULL, icon, GTK_SIGNAL_FUNC(scopetree_context_new), NULL);  gtk_widget_show(toolbar_button);  icon = gtk_image_new_from_stock("gtk-delete",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("Delete"), _("Delete"),      NULL, icon, GTK_SIGNAL_FUNC(scopetree_context_delete), NULL);  gtk_widget_show(toolbar_button);  arg_add_value(ctrls, "DELETECONTEXT_BUTTON", ARG_PTR, -1, toolbar_button);  gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));  icon = gtk_image_new_from_stock("nessus-connect",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("Connect"), _("Connect"),      NULL, icon, GTK_SIGNAL_FUNC(prefs_dialog_auth_connect), MainDialog);  gtk_widget_show(toolbar_button);  arg_add_value(ctrls, "CONNECT_BUTTON", ARG_PTR, -1, toolbar_button);  icon = gtk_image_new_from_stock("nessus-disconnect",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("Disconnect"), _("Disconnect"),      NULL, icon, GTK_SIGNAL_FUNC(prefs_dialog_auth_disconnect), MainDialog);  gtk_widget_show(toolbar_button);  arg_add_value(ctrls, "DISCONNECT_BUTTON", ARG_PTR, -1, toolbar_button);  gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));  icon = gtk_image_new_from_stock("gtk-execute",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("Execute"), _("Execute"),      NULL, icon, GTK_SIGNAL_FUNC(prefs_dialog_execute), ctrls);  gtk_widget_show(toolbar_button);  arg_add_value(ctrls, "EXECSCOPE_BUTTON", ARG_PTR, -1, toolbar_button);#if 0  icon = gtk_image_new_from_stock("gtk-stop",      gtk_toolbar_get_icon_size(GTK_TOOLBAR(toolbar)));  toolbar_button = gtk_toolbar_append_element(GTK_TOOLBAR(toolbar),      GTK_TOOLBAR_CHILD_BUTTON, NULL,      _("Stop"), _("Stop"),      NULL, icon, GTK_SIGNAL_FUNC(prefs_dialog_execute), NULL);  gtk_widget_show(toolbar_button);  gtk_widget_set_sensitive(toolbar_button, FALSE);#endif/* * The Scope Tree */  prefs_scope_tree = prefs_dialog_scope_tree(context);  frame = arg_get_value(prefs_scope_tree, "FRAME");  gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);  arg_add_value(ctrls, "SCOPETREE", ARG_PTR, -1, prefs_scope_tree);/* * The Context Frame */  frame = gtk_frame_new(NULL);  gtk_frame_set_label(GTK_FRAME(frame), _("Context"));  gtk_widget_show(frame);  gtk_container_add(GTK_CONTAINER(hpaned), frame);  arg_add_value(ctrls, "CONTEXTFRAME", ARG_PTR, -1, frame);/* * The Context Notebook */  notebook = gtk_notebook_new();  gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP);  gtk_container_add(GTK_CONTAINER(frame), notebook);  gtk_widget_show(notebook);  arg_add_value(ctrls, "CONTEXTNOTEBOOK", ARG_PTR, -1, notebook);/* * We set up the pages of our notebook */  prefs_comment = prefs_dialog_comment();  prefs_options = prefs_dialog_options(context, ctrls);  prefs_report = prefs_dialog_report();  arg_add_value(ctrls, "COMMENT", ARG_ARGLIST, -1, prefs_comment);  arg_add_value(ctrls, "OPTIONS", ARG_ARGLIST, -1, prefs_options);  arg_add_value(ctrls, "REPORT", ARG_ARGLIST, -1, prefs_report);/* * and we append them to it */  /* Tab "Comments" */  label = gtk_label_new(_("Comments"));  vbox = arg_get_value(prefs_comment, "VBOX");  gtk_widget_show(vbox);  gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);  /* Tab "Options" */  label = gtk_label_new(_("Options"));  vbox = arg_get_value(prefs_options, "VBOX");  gtk_widget_show(vbox);  gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);  /* Tab "Report" */  label = gtk_label_new(_("Report"));  vbox = arg_get_value(prefs_report, "VBOX");  gtk_widget_show(vbox);  gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label);  g_signal_connect_after(G_OBJECT(notebook), "switch-page",      G_CALLBACK(prefs_context_switch_notebookpage), NULL);/* * Message Log */  /* The frame */  msglogframe = gtk_frame_new(NULL);  gtk_widget_show(msglogframe);  gtk_box_pack_start(GTK_BOX(box), msglogframe, TRUE, TRUE, 0);  gtk_container_set_border_width(GTK_CONTAINER(msglogframe), 4);  arg_add_value(ctrls, "MSGLOGFRAME", ARG_PTR, -1, msglogframe);  /* The label for the frame */  label = gtk_label_new(_("Message log"));  gtk_widget_show(label);  gtk_frame_set_label_widget(GTK_FRAME(msglogframe), label);  /* The scrolled window */  scrolledwindow = gtk_scrolled_window_new(NULL, NULL);  gtk_widget_show(scrolledwindow);  gtk_container_add(GTK_CONTAINER(msglogframe), scrolledwindow);  gtk_container_set_border_width(GTK_CONTAINER(scrolledwindow), 4);  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow),      GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);  gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW(scrolledwindow),      GTK_CORNER_TOP_RIGHT);  arg_add_value(ctrls, "MSGLOGSCROLL", ARG_PTR, -1, scrolledwindow);  /* The text view */  textview = gtk_text_view_new();  gtk_widget_show(textview);  gtk_container_add(GTK_CONTAINER(scrolledwindow), textview);  gtk_text_view_set_editable(GTK_TEXT_VIEW(textview), FALSE);  gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)),      _("Welcome to NessusClient, http://www.nessus.org/"	"\nCopyright 1998-2005 by Renaud Deraison"	"\nAuthors: Renaud Deraison, Thomas Arendsen Hein, Jan-Oliver Wagner"	", Bernhard Herzog, Michel Arboi (SSL-Support), Bruce Verderaime (Pie/Charts)"	"\n"),      -1);  arg_add_value(ctrls, "MSGLOGTEXT", ARG_PTR, -1, textview);  /* The whole Message Log frame is invisible by default */  gtk_widget_hide(msglogframe);/* * Status bar */  hbox = gtk_hbox_new(FALSE, 0);  gtk_widget_show(hbox);  gtk_box_pack_end(GTK_BOX(box), hbox, FALSE, TRUE, 0);  hpaned = gtk_hpaned_new();  gtk_widget_show(hpaned);  gtk_box_pack_start(GTK_BOX(hbox), hpaned, TRUE, TRUE, 1);  statusbar = gtk_statusbar_new();  gtk_widget_show(statusbar);  gtk_paned_pack1(GTK_PANED(hpaned), statusbar, TRUE, FALSE);  gtk_widget_set_size_request(statusbar, 200, -1);  gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(statusbar), FALSE);  statusbar = gtk_statusbar_new();  gtk_widget_show(statusbar);  gtk_paned_pack2(GTK_PANED(hpaned), statusbar, TRUE, FALSE);  gtk_widget_set_size_request(statusbar, 200, -1);  gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(statusbar), FALSE);  arg_add_value(ctrls, "CONNECT_STATUSBAR", ARG_PTR, -1, statusbar);  gtk_statusbar_push(GTK_STATUSBAR(statusbar),      gtk_statusbar_get_context_id(GTK_STATUSBAR(statusbar), "connection"),      _("not connected"));  icon = gtk_image_new();  gtk_widget_show(icon);  gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, TRUE, 0);  arg_add_value(ctrls, "CONNECT_ENCRYPTED_IMAGE", ARG_PTR, -1, icon);/* * Final */  menuitem = arg_get_value(ctrls, "TOGGLETOOLBAR_MENUITEM");  gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem),      !prefs_get_int(Global, "hide_toolbar"));  toggle_toolbar(menuitem, ctrls);  menuitem = arg_get_value(ctrls, "TOGGLEMSGLOG_MENUITEM");  gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem),      prefs_get_int(Global, "hide_msglog"));  toggle_msglog(menuitem, ctrls);  prefs_dialog_set_defaults(context, ctrls);  prefs_dialog_set_tooltips(ctrls);  gtk_widget_show(window);}voidprefs_dialog_set_defaults(context, ctrls)  struct context *context;  struct arglist *ctrls;{#define EX_NONE 1#define EX_DNS 2#define EX_IP 4#define EX_NFS 8  struct arglist *t, *serv;  char *v;  int flag = 0;  GtkWidget *gtkw;  serv = arg_get_value(context->prefs, "SERVER_PREFS");  if(!serv)    return;  t = arg_get_value(ctrls, "PLUGINS");  gtkw = arg_get_value(t, "ENABLE_DEPS_AT_RUNTIME");  if(gtkw)  {    v = arg_get_value(serv, "auto_enable_dependencies");    if(arg_get_type(serv, "auto_enable_dependencies") == ARG_INT)    {      char *s = strdup(v ? "yes" : "no");      arg_set_type(serv, "auto_enable_dependencies", ARG_STRING);      arg_set_value(serv, "auto_enable_dependencies", strlen(s), s);      v = s;    }    if(v && !strcmp(v, "yes"))      GTK_TOGGLE_BUTTON(gtkw)->active = TRUE;    else      GTK_TOGGLE_BUTTON(gtkw)->active = FALSE;  }  gtkw = arg_get_value(t, "SILENT_DEPS");  if(gtkw)  {    v = arg_get_value(serv, "silent_dependencies");    if(arg_get_type(serv, "silent_dependencies") == ARG_INT)    {      char *s = strdup(v ? "yes" : "no");      arg_set_type(serv, "silent_dependencies", ARG_STRING);      arg_set_value(serv, "silent_dependencies", strlen(s), s);      v = s;    }    if(v && !strcmp(v, "yes"))      GTK_TOGGLE_BUTTON(gtkw)->active = TRUE;    else      GTK_TOGGLE_BUTTON(gtkw)->active = FALSE;  }  /*   *  Host expansion options   */  t = arg_get_value(ctrls, "TARGET");  gtk_entry_set_text(GTK_ENTRY(arg_get_value(t, "TARGET")),      prefs_get_string(context, "targets"));  v = arg_get_value(serv, "host_expansion");  if(!v)    flag |= EX_NONE;  else  {    if(strstr(v, "dns"))      flag = EX_DNS;    if(strstr(v, "nfs"))      flag |= EX_NFS;    if(strstr(v, "none"))      flag |= EX_NONE;    if(strstr(v, "ip"))      flag |= EX_IP;  }  if(!(flag & EX_NONE))  {    GtkWidget *w;    w = arg_get_value(t, "DNS_EXPAND");    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(w), (flag & EX_DNS));  }  /*   * Scan options    */  t = arg_get_value(ctrls, "SCAN_OPTIONS");  gtkw = arg_get_value(t, "PING_HOSTS");  v = arg_get_value(serv, "ping_hosts");  if(arg_get_type(serv, "ping_hosts") == ARG_INT)  {    char *s = emalloc(4);    if(v)      strncpy(s, "yes", 3);    else      strncpy(s, "no", 2);    arg_set_value(serv, "ping_hosts", strlen(s), s);    arg_set_type(serv, "ping_hosts", ARG_STRING);  }  v = arg_get_value(serv, "ping_hosts");  if(v)    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), !strcmp(v, "yes"));  gtkw = arg_get_value(t, "REVERSE_LOOKUP");  v = arg_get_value(serv, "reverse_lookup");  if(arg_get_type(serv, "reverse_lookup") == ARG_INT)  {    char *s = emalloc(4);    if(v)      strncpy(s, "yes", 3);    else      strncpy(s, "no", 2);    arg_set_value(serv, "reverse_lookup", strlen(s), s);    arg_set_type(serv, "reverse_lookup", ARG_STRING);  }  v = arg_get_value(serv, "reverse_lookup");  if(v)    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), !strcmp(v, "yes"));  gtkw = arg_get_value(t, "OPTIMIZE_TEST");  v = arg_get_value(serv, "optimize_test");  if(arg_get_type(serv, "optimize_test") == ARG_INT)  {    char *s = emalloc(4);    if(v)      strncpy(s, "yes", 3);    else      strncpy(s, "no", 2);    arg_set_value(serv, "optimize_test", strlen(s), s);    arg_set_type(serv, "optimize_test", ARG_STRING);  }  v = arg_get_value(serv, "optimize_test");  if(v)    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), !strcmp(v, "yes"));  else    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), 1);  gtkw = arg_get_value(t, "SAFE_CHECKS");  v = arg_get_value(serv, "safe_checks");  if(arg_get_type(serv, "safe_checks") == ARG_INT)  {    char *s = emalloc(4);    if(v)      strncpy(s, "yes", 3);    else      strncpy(s, "no", 2);    arg_set_value(serv, "safe_checks", strlen(s), s);    arg_set_type(serv, "safe_checks", ARG_STRING);  }  v = arg_get_value(serv, "safe_checks");  if(v)    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), !strcmp(v, "yes"));  else    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), 1);  gtkw = arg_get_value(t, "USE_MAC_ADDR");  v = arg_get_value(serv, "use_mac_addr");  if(arg_get_type(serv, "use_mac_addr") == ARG_INT)  {    char *s = emalloc(4);    if(v)      strncpy(s, "yes", 3);    else      strncpy(s, "no", 2);    arg_set_value(serv, "use_mac_addr", strlen(s), s);    arg_set_type(serv, "use_mac_addr", ARG_STRING);  }  v = arg_get_value(serv, "use_mac_addr");  if(v)    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), !strcmp(v, "yes"));  else    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), 0);  v = arg_get_value(serv, "port_range");  if(v)  {    gtkw = arg_get_value(t, "PORT_RANGE");    if(gtkw)      gtk_entry_set_text(GTK_ENTRY(gtkw), v);  }  gtkw = arg_get_value(t, "UNSCANNED_CLOSED");  v = arg_get_value(serv, "unscanned_closed");  if(arg_get_type(serv, "unscanned_closed") == ARG_INT)  {    char *s;    int v;    v = (int)arg_get_value(serv, "unscanned_closed");    if(v)      s = strdup("yes");    else      s = strdup("no");    arg_set_value(serv, "unscanned_closed", strlen(s), s);    arg_set_type(serv, "unscanned_closed", ARG_STRING);  }  v = arg_get_value(serv, "unscanned_closed");  if(v)    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), !strcmp(v, "yes"));  else    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(gtkw), 0);  gtkw = arg_get_value(t, "MAX_HOSTS");  if(gtkw)  {    v = arg_get_value(serv, "max_hosts");    if(v)      gtk_entry_set_text(GTK_ENTRY(gtkw), v);  }  gtkw = arg_get_value(t, "MAX_CHECKS");  if(gtkw)  {    v = arg_get_value(serv, "max_checks");    if(v)      gtk_entry_set_text(GTK_ENTRY(gtkw), v);  }  gtkw = arg_get_value(t, "CGI_PATH");  if(gtkw)  {    v = arg_get_value(serv, "cgi_path");    if(v)      gtk_entry_set_text(GTK_ENTRY(gtkw), v);  }  /*   * User   */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -