Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > d864baf35f500cff82dec6ef8243e85d > files > 2

ettercap-0.7.3-36.fc13.src.rpm

diff -ru ettercap-NG-0.7.3/src/ec_parser.c ettercap-NG-0.7.3.patched/src/ec_parser.c
--- ettercap-NG-0.7.3/src/ec_parser.c	2004-07-20 11:53:53.000000000 +0200
+++ ettercap-NG-0.7.3.patched/src/ec_parser.c	2007-03-26 18:50:41.000000000 +0200
@@ -73,12 +73,16 @@
    fprintf(stdout, "  -t, --proto <proto>         sniff only this proto (default is all)\n");
    
    fprintf(stdout, "\nUser Interface Type:\n");
-   fprintf(stdout, "  -T, --text                  use text only GUI\n");
+   fprintf(stdout, "  -T, --text                  use text only UI\n");
    fprintf(stdout, "       -q, --quiet                 do not display packet contents\n");
    fprintf(stdout, "       -s, --script <CMD>          issue these commands to the GUI\n");
-   fprintf(stdout, "  -C, --curses                use curses GUI\n");
+#ifdef HAVE_NCURSES
+   fprintf(stdout, "  -C, --curses                use curses UI\n");
+#endif
+#ifdef HAVE_GTK
    fprintf(stdout, "  -G, --gtk                   use GTK+ GUI\n");
-   fprintf(stdout, "  -D, --daemon                daemonize ettercap (no GUI)\n");
+#endif
+   fprintf(stdout, "  -D, --daemon                daemonize ettercap (no UI)\n");
    
    fprintf(stdout, "\nLogging options:\n");
    fprintf(stdout, "  -w, --write <file>          write sniffed data to pcapfile <file>\n");
@@ -173,6 +177,18 @@
       { 0 , 0 , 0 , 0}
    };
 
+
+#ifdef HAVE_GTK 
+      if (strcmp(argv[0], "ettercap-gtk") == 0)
+          select_gtk_interface();
+#endif
+#ifdef HAVE_NCURSES 
+      if (strcmp(argv[0], "ettercap-curses") == 0)
+          select_curses_interface();
+#endif
+      if (strcmp(argv[0], "ettercap-text") == 0)
+          select_text_interface();
+
    for (c = 0; c < argc; c++)
       DEBUG_MSG("parse_options -- [%d] [%s]", c, argv[c]);
 
@@ -215,11 +231,20 @@
                   break;
                   
          case 'C':
+#ifdef HAVE_NCURSES 
                   select_curses_interface();
+#else
+            fprintf(stdout, "\nncurses-interface not supported.\n\n");
+            clean_exit(-1);
+#endif
                   break;
-                  
          case 'G':
+#ifdef HAVE_GTK
                   select_gtk_interface();
+#else
+            fprintf(stdout, "\nGTK-Interface not supported.\n\n");
+            clean_exit(-1);
+#endif
                   break;
          
          case 'D':
@@ -429,8 +454,9 @@
    if (GBL_OPTIONS->read && GBL_OPTIONS->mitm)
       FATAL_ERROR("Cannot use mitm attacks while reading from file");
    
-   if (GBL_UI->init == NULL)
+   if (GBL_UI->init == NULL) {
       FATAL_ERROR("Please select an User Interface");
+    }
      
    /* force text interface for only mitm attack */
    if (GBL_OPTIONS->only_mitm) {