gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r13826 - in gnunet-setup: contrib src


From: gnunet
Subject: [GNUnet-SVN] r13826 - in gnunet-setup: contrib src
Date: Tue, 30 Nov 2010 00:25:09 +0100

Author: grothoff
Date: 2010-11-30 00:25:09 +0100 (Tue, 30 Nov 2010)
New Revision: 13826

Modified:
   gnunet-setup/contrib/gnunet-setup.glade
   gnunet-setup/src/gnunet-setup-options.c
   gnunet-setup/src/gnunet-setup-transport-tcp.c
Log:
integrating new TCP options:


Modified: gnunet-setup/contrib/gnunet-setup.glade
===================================================================
--- gnunet-setup/contrib/gnunet-setup.glade     2010-11-29 22:32:59 UTC (rev 
13825)
+++ gnunet-setup/contrib/gnunet-setup.glade     2010-11-29 23:25:09 UTC (rev 
13826)
@@ -2,70 +2,98 @@
 <interface>
   <requires lib="gtk+" version="2.20"/>
   <!-- interface-naming-policy project-wide -->
-  <object class="GtkListStore" id="GNUNET_setup_transport_tcp_my_ip_liststore">
+  <object class="GtkListStore" 
id="GNUNET_setup_transport_tcp_internal_ip_liststore">
     <columns>
       <!-- column-name ip -->
       <column type="gchararray"/>
     </columns>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datastore_quota_adjustment">
-    <property name="lower">1000000</property>
-    <property name="upper">999999999999</property>
-    <property name="value">100000000</property>
-    <property name="step_increment">1000000</property>
-    <property name="page_increment">1000000000</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment8">
-    <property name="upper">100</property>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_tcp_adv_port_adjustment">
+    <property name="lower">1</property>
+    <property name="upper">65535</property>
+    <property name="value">2086</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment7">
-    <property name="upper">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-    <property name="page_size">10</property>
+  <object class="GtkListStore" id="GNUNET_setup_hostlist_url_liststore">
+    <columns>
+      <!-- column-name url -->
+      <column type="gchararray"/>
+      <!-- column-name editable -->
+      <column type="gboolean"/>
+    </columns>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_hostlist_server_port_adjustment">
+  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datacache_mysql_port_adjustment">
     <property name="lower">1</property>
     <property name="upper">65535</property>
-    <property name="value">8080</property>
+    <property name="value">3306</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_http_port_adjustment">
+  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datastore_mysql_port_adjustment">
     <property name="lower">1</property>
     <property name="upper">65535</property>
-    <property name="value">1080</property>
+    <property name="value">3306</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_udp_port_adjustment">
-    <property name="lower">1</property>
-    <property name="upper">65535</property>
-    <property name="value">2086</property>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datacache_quota_adjustment">
+    <property name="lower">65536</property>
+    <property name="upper">9999999999</property>
+    <property name="value">1024000</property>
+    <property name="step_increment">65536</property>
+    <property name="page_increment">1024000</property>
+  </object>
+  <object class="GtkAdjustment" id="GNUNET_setup_bandwidth_out_adjustment">
+    <property name="lower">1024</property>
+    <property name="upper">999999999</property>
+    <property name="value">65536</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_tcp_port_adjustment">
-    <property name="upper">65535</property>
-    <property name="value">2086</property>
+  <object class="GtkAdjustment" id="GNUNET_setup_bandwidth_in_adjustment">
+    <property name="lower">5000</property>
+    <property name="upper">999999999</property>
+    <property name="value">65536</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_https_port_adjustment">
-    <property name="lower">1</property>
-    <property name="upper">65535</property>
-    <property name="value">443</property>
+  <object class="GtkAdjustment" id="adjustment6">
+    <property name="upper">100</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
+    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="GNUNET_setup_min_friends_adjustment">
-    <property name="upper">9999</property>
+  <object class="GtkAdjustment" id="adjustment5">
+    <property name="upper">100</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
+    <property name="page_size">10</property>
   </object>
+  <object class="GtkAdjustment" id="adjustment4">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment3">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment2">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
   <object class="GtkDialog" id="GNUNET_setup_dialog">
     <property name="border_width">5</property>
     <property name="title" translatable="yes">gnunet-setup</property>
@@ -855,7 +883,7 @@
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">True</property>
                                 <property 
name="use_action_appearance">False</property>
-                                <signal name="activate" 
handler="GNUNET_setup_transport_tcp_autoconfig_button_activate_cb" 
swapped="no"/>
+                                <signal name="clicked" 
handler="GNUNET_setup_transport_tcp_autoconfig_button_clicked_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -1037,7 +1065,7 @@
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkHBox" id="hbox23">
+                                  <object class="GtkHBox" 
id="GNUNET_setup_transport_tcp_internal_ip_hbox">
                                     <property name="visible">True</property>
                                     <child>
                                       <object class="GtkLabel" 
id="GNUNET_setup_transport_tcp_internal_ip_label">
@@ -1056,7 +1084,7 @@
                                         <property 
name="visible">True</property>
                                         <property 
name="model">GNUNET_setup_transport_tcp_internal_ip_liststore</property>
                                         <property 
name="text_column">0</property>
-                                        <signal name="changed" 
handler="GNUNET_setup_transport_tcp_internal_ip_comboboxentry_changed_cb" 
swapped="no"/>
+                                        <signal name="realize" 
handler="GNUNET_setup_transport_tcp_internal_ip_comboboxentry_realize_cb" 
swapped="no"/>
                                       </object>
                                       <packing>
                                         <property name="expand">True</property>
@@ -1159,7 +1187,7 @@
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">True</property>
                                 <property 
name="use_action_appearance">False</property>
-                                <signal name="activate" 
handler="GNUNET_setup_transport_tcp_test_button_activate_cb" swapped="no"/>
+                                <signal name="clicked" 
handler="GNUNET_setup_transport_tcp_test_button_clicked_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -2673,96 +2701,62 @@
       <action-widget response="-3">GNUNET_setup_save_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">100</property>
+  <object class="GtkAdjustment" id="GNUNET_setup_min_friends_adjustment">
+    <property name="upper">9999</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment2">
-    <property name="upper">100</property>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_https_port_adjustment">
+    <property name="lower">1</property>
+    <property name="upper">65535</property>
+    <property name="value">443</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment3">
-    <property name="upper">100</property>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_tcp_port_adjustment">
+    <property name="upper">65535</property>
+    <property name="value">2086</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment4">
-    <property name="upper">100</property>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_udp_port_adjustment">
+    <property name="lower">1</property>
+    <property name="upper">65535</property>
+    <property name="value">2086</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment5">
-    <property name="upper">100</property>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_http_port_adjustment">
+    <property name="lower">1</property>
+    <property name="upper">65535</property>
+    <property name="value">1080</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
-    <property name="page_size">10</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment6">
-    <property name="upper">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-    <property name="page_size">10</property>
-  </object>
-  <object class="GtkAdjustment" id="GNUNET_setup_bandwidth_in_adjustment">
-    <property name="lower">5000</property>
-    <property name="upper">999999999</property>
-    <property name="value">65536</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="GNUNET_setup_bandwidth_out_adjustment">
-    <property name="lower">1024</property>
-    <property name="upper">999999999</property>
-    <property name="value">65536</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datacache_quota_adjustment">
-    <property name="lower">65536</property>
-    <property name="upper">9999999999</property>
-    <property name="value">1024000</property>
-    <property name="step_increment">65536</property>
-    <property name="page_increment">1024000</property>
-  </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datastore_mysql_port_adjustment">
+  <object class="GtkAdjustment" 
id="GNUNET_setup_hostlist_server_port_adjustment">
     <property name="lower">1</property>
     <property name="upper">65535</property>
-    <property name="value">3306</property>
+    <property name="value">8080</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datacache_mysql_port_adjustment">
-    <property name="lower">1</property>
-    <property name="upper">65535</property>
-    <property name="value">3306</property>
+  <object class="GtkAdjustment" id="adjustment7">
+    <property name="upper">100</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
+    <property name="page_size">10</property>
   </object>
-  <object class="GtkListStore" id="GNUNET_setup_hostlist_url_liststore">
-    <columns>
-      <!-- column-name url -->
-      <column type="gchararray"/>
-      <!-- column-name editable -->
-      <column type="gboolean"/>
-    </columns>
-  </object>
-  <object class="GtkAdjustment" 
id="GNUNET_setup_transport_tcp_adv_port_adjustment">
-    <property name="lower">1</property>
-    <property name="upper">65535</property>
-    <property name="value">2086</property>
+  <object class="GtkAdjustment" id="adjustment8">
+    <property name="upper">100</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
+    <property name="page_size">10</property>
   </object>
-  <object class="GtkListStore" 
id="GNUNET_setup_transport_tcp_internal_ip_liststore">
-    <columns>
-      <!-- column-name ip -->
-      <column type="gchararray"/>
-    </columns>
+  <object class="GtkAdjustment" 
id="GNUNET_setup_fs_datastore_quota_adjustment">
+    <property name="lower">1000000</property>
+    <property name="upper">999999999999</property>
+    <property name="value">100000000</property>
+    <property name="step_increment">1000000</property>
+    <property name="page_increment">1000000000</property>
   </object>
 </interface>

Modified: gnunet-setup/src/gnunet-setup-options.c
===================================================================
--- gnunet-setup/src/gnunet-setup-options.c     2010-11-29 22:32:59 UTC (rev 
13825)
+++ gnunet-setup/src/gnunet-setup-options.c     2010-11-29 23:25:09 UTC (rev 
13826)
@@ -244,8 +244,26 @@
                 GObject *widget,
                 const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  GNUNET_break (0);
-  return GNUNET_SYSERR;
+  GtkTreeIter iter;
+  GtkComboBox *cb;
+  GtkListStore *ls;
+
+  ls = GTK_LIST_STORE (gtk_builder_get_object (builder, 
+                                              
"GNUNET_setup_transport_tcp_internal_ip_liststore"));
+  if (ls == NULL)
+    {
+      GNUNET_break (0);
+      return GNUNET_SYSERR;
+    }
+  gtk_list_store_insert_before (ls, &iter, NULL);
+  gtk_list_store_set (ls,
+                     &iter,
+                     0, value,
+                     -1);
+  cb = GTK_COMBO_BOX (gtk_builder_get_object (builder, 
+                                             
"GNUNET_setup_transport_tcp_internal_ip_comboboxentry"));
+  gtk_combo_box_set_active_iter (cb, &iter);
+  return GNUNET_OK;
 }
 
 
@@ -266,13 +284,18 @@
                 GObject *widget,
                 struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  GNUNET_break (0);
-  return GNUNET_SYSERR;
+  GtkComboBox *cb;
+  gchar *c;
+
+  cb = GTK_COMBO_BOX (gtk_builder_get_object (builder, 
+                                             
"GNUNET_setup_transport_tcp_internal_ip_comboboxentry"));
+  c = gtk_combo_box_get_active_text (cb);
+  GNUNET_CONFIGURATION_set_value_string (cfg, section, option, c);
+  g_free (c);
+  return GNUNET_OK;
 }
 
 
-
-
 /**
  * Initialize a GtkSpinButton based on a numeric option.
  *
@@ -788,6 +811,16 @@
 
 
 /**
+ * Hide internal IP options.
+ */
+static struct GNUNET_SETUP_VisibilitySpecification toggle_internal_ip[] =
+{
+  { "GNUNET_setup_transport_tcp_internal_ip_hbox", "^YES$", NULL },
+  { NULL, NULL, NULL }
+};
+
+
+/**
  * Option specification data.
  */
 const struct GNUNET_SETUP_OptionSpecification option_specifications[] =
@@ -1151,15 +1184,15 @@
       "https://gnunet.org/configuration-nat";,
       &load_yes_no,
       &save_yes_no, NULL,
-      NULL,
+      toggle_internal_ip
     },
 
     {
       "GNUNET_setup_transport_tcp_internal_ip_comboboxentry",
       "changed",
       "transport-tcp",
-      "EXTERNAL_ADDRESS",
-      gettext_noop ("External (public) IP address of the NAT"),
+      "INTERNAL_ADDRESS",
+      gettext_noop ("Internal (private) IP address of the NAT"),
       "https://gnunet.org/configuration-nat";,
       &load_combo_text,
       &save_combo_text, NULL,

Modified: gnunet-setup/src/gnunet-setup-transport-tcp.c
===================================================================
--- gnunet-setup/src/gnunet-setup-transport-tcp.c       2010-11-29 22:32:59 UTC 
(rev 13825)
+++ gnunet-setup/src/gnunet-setup-transport-tcp.c       2010-11-29 23:25:09 UTC 
(rev 13826)
@@ -24,49 +24,110 @@
  * @author Christian Grothoff
  */
 #include "gnunet-setup.h"
-#include <gnunet/gnunet_datacache_plugin.h>
 
 
-static void
-show (const char *name)
+
+/**
+ * Callback function invoked for each interface found.
+ *
+ * @param cls closure
+ * @param name name of the interface (can be NULL for unknown)
+ * @param isDefault is this presumably the default interface
+ * @param addr address of this interface (can be NULL for unknown or 
unassigned)
+ * @param addrlen length of the address
+ * @return GNUNET_OK to continue iteration, GNUNET_SYSERR to abort
+ */
+static int
+ni_proc (void *cls,
+        const char *name,
+        int isDefault,
+        const struct sockaddr *addr,
+        socklen_t addrlen)
 {
-  gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (builder, 
-                                                      name)));
+  GtkListStore *ls = cls;
+  GtkTreeIter iter;
+  GtkComboBox *cb;
+  char new_text[INET6_ADDRSTRLEN];
+  const struct sockaddr_in *v4;
+  const struct sockaddr_in6 *v6;
+  gchar *at;
+
+  switch (addr->sa_family)
+    {
+    case AF_INET:
+      v4 = (const struct sockaddr_in*) addr;
+      if (NULL == inet_ntop (AF_INET,
+                            &v4->sin_addr,
+                            new_text,
+                            sizeof (new_text)))
+       {
+         GNUNET_break (0);
+         return GNUNET_OK;
+       }
+      break;
+    case AF_INET6:
+      v6 = (const struct sockaddr_in6*) addr;
+      if (NULL == inet_ntop (AF_INET6,
+                            &v6->sin6_addr,
+                            new_text,
+                            sizeof (new_text)))
+       {
+         GNUNET_break (0);
+         return GNUNET_OK;
+       }
+      break;
+    default:
+      /* unsupported af */
+      return GNUNET_OK;
+    }
+  gtk_list_store_insert_before (ls, &iter, NULL);
+  gtk_list_store_set (ls,
+                     &iter,
+                     0, new_text,
+                     -1);
+  if (isDefault)
+    {
+      cb = GTK_COMBO_BOX (gtk_builder_get_object (builder, 
+                                                 
"GNUNET_setup_transport_tcp_internal_ip_comboboxentry"));
+      at = gtk_combo_box_get_active_text (cb);
+      if ( (at == NULL) ||
+          (strlen (at) == 0) )
+       gtk_combo_box_set_active_iter (cb, &iter);
+      g_free (at);
+    }
+  return GNUNET_OK;
 }
 
 
-static void
-hide (const char *name)
-{
-  gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, 
-                                                      name)));
-}
 
 void
-XXX_checkbutton_toggled_cb (GtkToggleButton *button,
-                           gpointer user_data)
+GNUNET_setup_transport_tcp_internal_ip_comboboxentry_realize_cb (GtkWidget 
*widget,
+                                                                gpointer 
user_data)
 {
-  if (TRUE ==
-      gtk_toggle_button_get_active (button))
+  GtkListStore *ls;
+
+  ls = GTK_LIST_STORE (gtk_builder_get_object (builder, 
+                                              
"GNUNET_setup_transport_tcp_internal_ip_liststore"));
+  if (ls == NULL)
     {
-      show ("GNUNET_setup_transport_tcp_upnp_checkbutton");
+      GNUNET_break (0);
+      return;
     }
-  else
-    {
-      hide ("GNUNET_setup_transport_tcp_upnp_checkbutton");
-    }
+  GNUNET_OS_network_interfaces_list (&ni_proc,
+                                    ls);
 }
 
+
 void
-GNUNET_setup_transport_tcp_autoconfig_button_activate_cb ()
+GNUNET_setup_transport_tcp_autoconfig_button_clicked_cb ()
 {
-  GNUNET_break (0);
+  GNUNET_break (0); /* not implemented */
 }
 
 void
-GNUNET_setup_transport_tcp_test_button_activate_cb ()
+GNUNET_setup_transport_tcp_test_button_clicked_cb ()
 {
-  GNUNET_break (0);
+  GNUNET_break (0); /* not implemented */
 }
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]