gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r30423 - in gnunet-gtk: contrib src/setup


From: gnunet
Subject: [GNUnet-SVN] r30423 - in gnunet-gtk: contrib src/setup
Date: Sat, 26 Oct 2013 19:21:23 +0200

Author: grothoff
Date: 2013-10-26 19:21:23 +0200 (Sat, 26 Oct 2013)
New Revision: 30423

Modified:
   gnunet-gtk/contrib/gnunet_setup_main_window.glade
   gnunet-gtk/src/setup/Makefile.am
   gnunet-gtk/src/setup/gnunet-setup-options.c
Log:
allow editing of exit policies

Modified: gnunet-gtk/contrib/gnunet_setup_main_window.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_main_window.glade   2013-10-26 17:21:12 UTC 
(rev 30422)
+++ gnunet-gtk/contrib/gnunet_setup_main_window.glade   2013-10-26 17:21:23 UTC 
(rev 30423)
@@ -36,7 +36,6 @@
             <child>
               <object class="GtkButton" id="GNUNET_setup_cancel_button">
                 <property name="label">gtk-cancel</property>
-                <property name="use_action_appearance">False</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="use_stock">True</property>
@@ -50,7 +49,6 @@
             <child>
               <object class="GtkButton" id="GNUNET_setup_save_as_button">
                 <property name="label">gtk-save-as</property>
-                <property name="use_action_appearance">False</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="use_stock">True</property>
@@ -64,7 +62,6 @@
             <child>
               <object class="GtkButton" id="GNUNET_setup_save_button">
                 <property name="label">gtk-save</property>
-                <property name="use_action_appearance">False</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="use_stock">True</property>
@@ -123,7 +120,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_general_services_topology_checkbutton">
                                 <property name="label" 
translatable="yes">Topology</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="sensitive">False</property>
                                 <property name="can_focus">True</property>
@@ -143,7 +139,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_general_services_hostlist_checkbutton">
                                 <property name="label" 
translatable="yes">Hostlist</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -162,7 +157,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_general_services_fs_checkbutton">
                                 <property name="label" translatable="yes">File 
_Sharing</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -182,7 +176,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_general_services_pt_checkbutton">
                                 <property name="label" 
translatable="yes">PT/VPN</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -201,7 +194,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_general_services_exit_checkbutton">
                                 <property name="label" 
translatable="yes">EXIT</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -220,7 +212,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_general_services_gns_checkbutton">
                                 <property name="label" 
translatable="yes">GNS</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -274,7 +265,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_friends_only_checkbutton">
                                 <property name="label" translatable="yes">F_2F 
only</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -303,7 +293,6 @@
                             <child>
                               <object class="GtkButton" 
id="GNUNET_setup_launch_edit_friends_button">
                                 <property name="label" 
translatable="yes">Ed_it List of Friends</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">True</property>
@@ -402,7 +391,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_hostlist_client_enable_checkbutton">
                                     <property name="label" 
translatable="yes">Use Hostlists to bootstrap</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -419,7 +407,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_hostlist_client_learn_checkbutton">
                                     <property name="label" 
translatable="yes">Learn Servers from P2P Network</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -451,7 +438,6 @@
                                     <child>
                                       <object class="GtkCheckButton" 
id="GNUNET_setup_hostlist_offer_hostlist_checkbutton">
                                         <property name="label" 
translatable="yes">Run Hostlist Server</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -468,7 +454,6 @@
                                     <child>
                                       <object class="GtkCheckButton" 
id="GNUNET_setup_hostlist_advertise_checkbutton">
                                         <property name="label" 
translatable="yes">Advertise Hostlist Server</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -778,7 +763,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_transport_nat_checkbutton">
                                     <property name="label" 
translatable="yes">Peer is behind _NAT</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -797,7 +781,6 @@
                                 <child>
                                   <object class="GtkButton" 
id="GNUNET_setup_transport_autoconfig_button">
                                     <property name="label" 
translatable="yes">Attempt automatic configuration</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">True</property>
@@ -813,7 +796,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_transport_disable_ipv6_checkbutton">
                                     <property name="label" 
translatable="yes">Disable IPv_6 support</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -861,7 +843,6 @@
                                     <child>
                                       <object class="GtkCheckButton" 
id="GNUNET_setup_transport_hole_punched_checkbutton">
                                         <property name="label" 
translatable="yes">NAT ports have been opened manually</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -878,7 +859,6 @@
                                     <child>
                                       <object class="GtkCheckButton" 
id="GNUNET_setup_transport_upnp_enable_checkbutton">
                                         <property name="label" 
translatable="yes">Enable NAT traversal via UPnP or PMP</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -895,7 +875,6 @@
                                     <child>
                                       <object class="GtkCheckButton" 
id="GNUNET_setup_transport_icmp_server_enable_checkbutton">
                                         <property name="label" 
translatable="yes">Enable NAT traversal using ICMP method</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -956,7 +935,6 @@
                                     <child>
                                       <object class="GtkCheckButton" 
id="GNUNET_setup_transport_icmp_client_enable_checkbutton">
                                         <property name="label" 
translatable="yes">Enable connecting to NATed peers using ICMP method</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -1102,7 +1080,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_tcp_checkbutton">
                                 <property name="label" 
translatable="yes">_TCP</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1122,7 +1099,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_udp_checkbutton">
                                 <property name="label" 
translatable="yes">_UDP</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1141,7 +1117,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_http_client_checkbutton">
                                 <property name="label" 
translatable="yes">_HTTP Client</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1161,7 +1136,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_http_server_checkbutton">
                                 <property name="label" 
translatable="yes">HTT_P Server</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1181,7 +1155,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_https_client_checkbutton">
                                 <property name="label" 
translatable="yes">HTTPS _Client</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1201,7 +1174,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_https_server_checkbutton">
                                 <property name="label" 
translatable="yes">HTTPS _Server</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1221,7 +1193,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_dv_checkbutton">
                                 <property name="label" 
translatable="yes">D_V</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
                                 <property name="use_underline">True</property>
@@ -1239,7 +1210,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_transport_wlan_checkbutton">
                                 <property name="label" 
translatable="yes">_WLAN</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -1406,7 +1376,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_transport_tcp_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -1605,7 +1574,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_transport_udp_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -1812,7 +1780,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_transport_http_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -2019,7 +1986,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_transport_https_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -2240,7 +2206,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_fs_migration_from_checkbutton">
                                 <property name="label" 
translatable="yes">Enable unsolicited content transmission from this 
peer</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -2258,7 +2223,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_fs_migration_to_checkbutton">
                                 <property name="label" 
translatable="yes">Enable caching content at this peer</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -2331,7 +2295,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_fs_datastore_sqlite_radiobutton">
                                         <property name="label" 
translatable="yes">sqLite</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -2349,7 +2312,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_fs_datastore_mysql_radiobutton">
                                         <property name="label" 
translatable="yes">MySQL</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -2368,7 +2330,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_fs_datastore_postgres_radiobutton">
                                         <property name="label" 
translatable="yes">Postgres</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -2718,7 +2679,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_datastore_mysql_tab_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -2821,7 +2781,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_datastore_postgres_tab_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -2930,7 +2889,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_fs_datacache_sqlite_radiobutton">
                                         <property name="label" 
translatable="yes">sqLite</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -2948,7 +2906,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_fs_datacache_heap_radiobutton">
                                         <property name="label" 
translatable="yes">Memory</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -2967,7 +2924,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_fs_datacache_postgres_radiobutton">
                                         <property name="label" 
translatable="yes">Postgres</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -3142,7 +3098,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_datacache_postgres_tab_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -3254,7 +3209,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_pt_ipv4_checkbutton">
                                     <property name="label" 
translatable="yes">Tunnel IPv4 Traffic</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -3271,7 +3225,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_pt_ipv6_checkbutton">
                                     <property name="label" 
translatable="yes">Tunnel IPv6 Traffic</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -3288,7 +3241,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_pt_dns_checkbutton">
                                     <property name="label" 
translatable="yes">Tunnel DNS Traffic</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -3587,7 +3539,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_dns_enable_exit_checkbutton">
                                     <property name="label" 
translatable="yes">Enable DNS Exit</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -3604,7 +3555,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_exit_enable_ipv4_exit_checkbutton">
                                     <property name="label" 
translatable="yes">Enable IPv4 Exit</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -3622,7 +3572,6 @@
                                 <child>
                                   <object class="GtkCheckButton" 
id="GNUNET_setup_exit_enable_ipv6_exit_checkbutton">
                                     <property name="label" 
translatable="yes">Enable IPv6 Exit</property>
-                                    <property 
name="use_action_appearance">False</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property 
name="receives_default">False</property>
@@ -3889,6 +3838,123 @@
                   </packing>
                 </child>
                 <child>
+                  <object class="GtkFrame" id="GNUNET_SETUP_exit_policy_frame">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">none</property>
+                    <child>
+                      <object class="GtkAlignment" 
id="GNUNET_SETUP_exit_policy_alignment">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" 
id="GNUNET_SETUP_exit_policy_vbox">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <child>
+                              <object class="GtkHBox" 
id="GNUNET_SETUP_exit_policy_v4_hbox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <object class="GtkLabel" 
id="GNUNET_SETUP_exit_policy_v4_label">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="label" 
translatable="yes">IPv4:</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="padding">5</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" 
id="GNUNET_SETUP_exit_policy_v4_entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="invisible_char">●</property>
+                                    <property 
name="primary_icon_activatable">False</property>
+                                    <property 
name="secondary_icon_activatable">False</property>
+                                    <property 
name="primary_icon_sensitive">True</property>
+                                    <property 
name="secondary_icon_sensitive">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkHBox" 
id="GNUNET_SETUP_exit_policy_v6_hbox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <child>
+                                  <object class="GtkLabel" 
id="GNUNET_SETUP_exit_policy_v6_label">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="label" 
translatable="yes">IPv6:</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="padding">5</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" 
id="GNUNET_SETUP_exit_policy_v6_entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property 
name="invisible_char">●</property>
+                                    <property 
name="primary_icon_activatable">False</property>
+                                    <property 
name="secondary_icon_activatable">False</property>
+                                    <property 
name="primary_icon_sensitive">True</property>
+                                    <property 
name="secondary_icon_sensitive">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label9">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" 
translatable="yes">&lt;b&gt;Exit policy&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="padding">5</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
                   <object class="GtkFrame" 
id="GNUNET_setup_hosted_service_frame">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
@@ -3987,7 +4053,7 @@
                     <property name="expand">True</property>
                     <property name="fill">True</property>
                     <property name="padding">5</property>
-                    <property name="position">1</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </object>
@@ -4051,7 +4117,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_namestore_sqlite_radiobutton">
                                         <property name="label" 
translatable="yes">sqLite</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -4070,7 +4135,6 @@
                                     <child>
                                       <object class="GtkRadioButton" 
id="GNUNET_setup_namestore_postgres_radiobutton">
                                         <property name="label" 
translatable="yes">Postgres</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">False</property>
@@ -4179,7 +4243,6 @@
                                     <child>
                                       <object class="GtkButton" 
id="GNUNET_setup_namestore_postgres_tab_test_button">
                                         <property name="label" 
translatable="yes">Test configuration</property>
-                                        <property 
name="use_action_appearance">False</property>
                                         <property 
name="visible">True</property>
                                         <property 
name="can_focus">True</property>
                                         <property 
name="receives_default">True</property>
@@ -4266,7 +4329,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_gns_hijack_checkbutton">
                                 <property name="label" 
translatable="yes">Enable iptables-based DNS hijacking 
(GNU/Linux-only)</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -4282,7 +4344,6 @@
                             <child>
                               <object class="GtkCheckButton" 
id="GNUNET_setup_gns_auto_import_checkbutton">
                                 <property name="label" 
translatable="yes">Enable automatic shortening</property>
-                                <property 
name="use_action_appearance">False</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property 
name="receives_default">False</property>
@@ -4341,7 +4402,6 @@
         <child>
           <object class="GtkLinkButton" id="GNUNET_setup_help_text">
             <property name="label" translatable="yes">Welcome to 
gnunet-setup.</property>
-            <property name="use_action_appearance">False</property>
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="receives_default">True</property>

Modified: gnunet-gtk/src/setup/Makefile.am
===================================================================
--- gnunet-gtk/src/setup/Makefile.am    2013-10-26 17:21:12 UTC (rev 30422)
+++ gnunet-gtk/src/setup/Makefile.am    2013-10-26 17:21:23 UTC (rev 30423)
@@ -33,7 +33,7 @@
   $(top_builddir)/src/lib/libgnunetgtk.la \
   @GTK_LIBS@ @GNUNET_LIBS@ @GLADE_LIBS@ \
   $(WINLIBS) \
-  -lgnunetutil -lgnunetnat \
+  -lgnunetutil -lgnunetnat -lgnunettun \
   $(INTLLIBS)
 gnunet_setup_CFLAGS = \
   @GTK_CFLAGS@ \

Modified: gnunet-gtk/src/setup/gnunet-setup-options.c
===================================================================
--- gnunet-gtk/src/setup/gnunet-setup-options.c 2013-10-26 17:21:12 UTC (rev 
30422)
+++ gnunet-gtk/src/setup/gnunet-setup-options.c 2013-10-26 17:21:23 UTC (rev 
30423)
@@ -27,6 +27,7 @@
 #include "gnunet-setup-options.h"
 #include "gnunet-setup-exit-services.h"
 #include <gnunet/gnunet_util_lib.h>
+#include <gnunet/gnunet_tun_lib.h>
 #include <gdk/gdkkeysyms.h>
 
 
@@ -500,6 +501,104 @@
 
 
 /**
+ * Check IPv4 exit policy for syntactic correctness.
+ *
+ * @param cls closure (unused)
+ * @param widget widget whose state was changed
+ */
+static void
+validate_v4_policy (const void *cls,
+                    GObject *widget)
+{
+  GtkEntry *entry;
+  GdkColor color;
+  GdkColor *pcolor;
+  gboolean invalid;
+  const char *text;
+  char *r;
+  char *tooltip;
+
+  entry = GTK_ENTRY (widget);
+  text = gtk_entry_get_text (entry);
+  r = GNUNET_TUN_ipv4policy2regex (text);
+  invalid =  ( (strlen (text) > 0) &&
+               ( (NULL == r) ||
+                 (text[strlen(text)-1] != ';') ) );
+  gdk_color_parse (INVALID_INPUT_COLOR, &color);
+  if (invalid)
+  {
+    pcolor = &color;
+    GNUNET_asprintf (&tooltip,
+                     _("Invalid policy."));
+  }
+  else
+  {
+    pcolor = NULL;
+    tooltip = GNUNET_strdup ("");
+  }
+  gtk_widget_modify_bg (GTK_WIDGET (widget),
+                        GTK_STATE_NORMAL, pcolor);
+  gtk_widget_modify_bg (GTK_WIDGET (widget),
+                        GTK_STATE_ACTIVE, pcolor);
+  gtk_widget_modify_bg (GTK_WIDGET (widget),
+                        GTK_STATE_SELECTED, pcolor);
+  gtk_widget_set_tooltip_text (GTK_WIDGET (widget),
+                               tooltip);
+  GNUNET_free (tooltip);
+  GNUNET_free_non_null (r);
+}
+
+
+/**
+ * Check IPv6 exit policy for syntactic correctness.
+ *
+ * @param cls closure (unused)
+ * @param widget widget whose state was changed
+ */
+static void
+validate_v6_policy (const void *cls,
+                    GObject *widget)
+{
+  GtkEntry *entry;
+  GdkColor color;
+  GdkColor *pcolor;
+  gboolean invalid;
+  const char *text;
+  char *r;
+  char *tooltip;
+
+  entry = GTK_ENTRY (widget);
+  text = gtk_entry_get_text (entry);
+  r = GNUNET_TUN_ipv6policy2regex (text);
+  invalid =  ( (strlen (text) > 0) &&
+               ( (NULL == r) ||
+                 (text[strlen(text)-1] != ';') ) );
+  gdk_color_parse (INVALID_INPUT_COLOR, &color);
+  if (invalid)
+  {
+    pcolor = &color;
+    GNUNET_asprintf (&tooltip,
+                     _("Invalid policy."));
+  }
+  else
+  {
+    pcolor = NULL;
+    tooltip = GNUNET_strdup ("");
+  }
+  gtk_widget_modify_bg (GTK_WIDGET (widget),
+                          GTK_STATE_NORMAL, pcolor);
+  gtk_widget_modify_bg (GTK_WIDGET (widget),
+                          GTK_STATE_ACTIVE, pcolor);
+  gtk_widget_modify_bg (GTK_WIDGET (widget),
+                        GTK_STATE_SELECTED, pcolor);
+  gtk_widget_set_tooltip_text (GTK_WIDGET (widget),
+                               tooltip);
+  GNUNET_free (tooltip);
+  GNUNET_free_non_null (r);
+}
+
+
+/**
  * Initialize a toggle button based on the existence of a word
  * in an option value.
  *
@@ -755,6 +854,33 @@
 
 
 /**
+ * Hide DNS "exit" options if DNS exit is not in use.
+ */
+static struct GNUNET_SETUP_VisibilitySpecification hide_dns_exit_options[] = {
+  {"GNUNET_setup_dns_resolver_hbox", "^YES$", NULL},
+  {NULL, NULL, NULL}
+};
+
+
+/**
+ * Hide IPv4 "exit" options if IPv4 exit is not in use.
+ */
+static struct GNUNET_SETUP_VisibilitySpecification hide_v4_exit_options[] = {
+  {"GNUNET_SETUP_exit_policy_v4_hbox", "^YES$", NULL},
+  {NULL, NULL, NULL}
+};
+
+
+/**
+ * Hide IPv6 "exit" options if IPv6 exit is not in use.
+ */
+static struct GNUNET_SETUP_VisibilitySpecification hide_v6_exit_options[] = {
+  {"GNUNET_SETUP_exit_policy_v6_hbox", "^YES$", NULL},
+  {NULL, NULL, NULL}
+};
+
+
+/**
  * Hide "hostlist" server options if hostlist server is not in use.
  */
 static struct GNUNET_SETUP_VisibilitySpecification
@@ -1826,7 +1952,7 @@
    &load_yes_no,
    &save_yes_no, NULL,
    NULL, NULL,
-   NULL},
+   hide_dns_exit_options},
 
   {
    "GNUNET_setup_exit_interface_name_entry",
@@ -1902,7 +2028,7 @@
    &load_yes_no,
    &save_yes_no, NULL,
    NULL, NULL,
-   NULL},
+   hide_v4_exit_options},
 
   {
    "GNUNET_setup_exit_enable_ipv6_exit_checkbutton",
@@ -1915,9 +2041,39 @@
    &load_yes_no,
    &save_yes_no, NULL,
    NULL, NULL,
+   hide_v6_exit_options},
+
+
+  {
+   "GNUNET_SETUP_exit_policy_v4_entry",
+   "changed",
+   "exit",
+   "EXIT_RANGE_IPV4_POLICY",
+   gettext_noop
+   ("Which IPv4 addresses and ports do you allow other users to send traffic 
towards (via the Exit interface)"),
+   "https://gnunet.org/configuration-exit";,
+   &load_text,
+   &save_text, NULL,
+   &validate_v4_policy, NULL,
    NULL},
 
 
+  {
+   "GNUNET_SETUP_exit_policy_v6_entry",
+   "changed",
+   "exit",
+   "EXIT_RANGE_IPV6_POLICY",
+   gettext_noop
+   ("Which IPv6 addresses and ports do you allow other users to send traffic 
towards (via the Exit interface)"),
+   "https://gnunet.org/configuration-exit";,
+   &load_text,
+   &save_text, NULL,
+   &validate_v6_policy, NULL,
+   NULL},
+
+
+
+
   /* Namestore TAB */
 
   {




reply via email to

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