gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r3936 - in GNUnet: . contrib po src/applications/dht/module


From: grothoff
Subject: [GNUnet-SVN] r3936 - in GNUnet: . contrib po src/applications/dht/module src/applications/dstore src/include src/transports
Date: Wed, 13 Dec 2006 20:25:26 -0800 (PST)

Author: grothoff
Date: 2006-12-13 20:25:13 -0800 (Wed, 13 Dec 2006)
New Revision: 3936

Modified:
   GNUnet/ChangeLog
   GNUnet/UPDATING
   GNUnet/configure.ac
   GNUnet/contrib/config-daemon.scm
   GNUnet/po/GNUnet.pot
   GNUnet/po/de.po
   GNUnet/po/es.po
   GNUnet/po/rw.po
   GNUnet/po/sv.po
   GNUnet/po/vi.po
   GNUnet/src/applications/dht/module/dstore.c
   GNUnet/src/applications/dstore/dstore.c
   GNUnet/src/include/gnunet_util.h
   GNUnet/src/transports/tcp.c
   GNUnet/src/transports/tcp6.c
   GNUnet/src/transports/udp.c
   GNUnet/src/transports/udp6.c
Log:
adding whitelisting feature

Modified: GNUnet/ChangeLog
===================================================================
--- GNUnet/ChangeLog    2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/ChangeLog    2006-12-14 04:25:13 UTC (rev 3936)
@@ -1,3 +1,7 @@
+Mon Dec 11 21:11:54 MST 2006
+       Implemented ncurses/dialog based gnunet-setup wizard.
+       Releasing GNUnet 0.7.1pre2.
+
 Sun Dec 10 00:36:11 MST 2006
        Fixed load calculation code.  More aggressive utilization
        of available resources.
@@ -2,2 +6,5 @@
 
+Mon Dec  4 13:24:12 MST 2006
+       Releasing GNUnet 0.7.1pre1.
+
 Wed Nov 29 22:20:26 MST 2006

Modified: GNUnet/UPDATING
===================================================================
--- GNUnet/UPDATING     2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/UPDATING     2006-12-14 04:25:13 UTC (rev 3936)
@@ -8,6 +8,16 @@
 data-preserving migration may not be possible.  For SVN versions,
 you're on your own.
 
+0.7.1pre1 to 0.7.1pre2
+======================
+
+Run
+
+$ gnunet-update
+
+(as the same user that also runs gnunetd).
+
+
 0.7.1pre0 to 0.7.1pre1
 ======================
 
@@ -53,7 +63,6 @@
 options (you maybe able to skip gnunet-setup).  Restart gnunetd.
 
 
-
 0.7.0pre6, 0.7.0, 0.7.0{a,b,c,d} to 0.7.0e
 ==========================================
 

Modified: GNUnet/configure.ac
===================================================================
--- GNUnet/configure.ac 2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/configure.ac 2006-12-14 04:25:13 UTC (rev 3936)
@@ -21,8 +21,8 @@
 #
 #
 AC_PREREQ(2.57)
-AC_INIT([GNUnet], [0.7.1pre1],address@hidden)
-AM_INIT_AUTOMAKE([GNUnet], [0.7.1pre1])
+AC_INIT([GNUnet], [0.7.1pre2],address@hidden)
+AM_INIT_AUTOMAKE([GNUnet], [0.7.1pre2])
 AM_CONFIG_HEADER([config.h])
 
 AH_TOP([#define _GNU_SOURCE  1])

Modified: GNUnet/contrib/config-daemon.scm
===================================================================
--- GNUnet/contrib/config-daemon.scm    2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/contrib/config-daemon.scm    2006-12-14 04:25:13 UTC (rev 3936)
@@ -744,6 +744,30 @@
  (cons 0 65535)
  'nat-unlimited))
 
+(define (tcp-blacklist builder)
+ (builder
+ TCP"
+ "BLACKLIST"
+ (_ "Which IPs are not allowed to connect?")
+ (nohelp)
+ '()
+ #t
+ ""
+ '()
+ 'advanced))
+
+(define (tcp-whitelist builder)
+ (builder
+ "TCP"
+ "WHITELIST"
+ (_ "Which IPs are allowed to connect? Leave empty to allow connections from 
any IP.")
+ (nohelp)
+ '()
+ #t
+ ""
+ '()
+ 'advanced))
+
 (define (tcp builder)
  (builder
  "TCP"
@@ -752,6 +776,8 @@
  (nohelp)
  (list 
    (tcp-port builder)
+   (tcp-blacklist builder)
+   (tcp-whitelist builder)
  )
  #t
  #f
@@ -822,6 +848,18 @@
  '()
  'advanced))
 
+(define (udp-whitelist builder)
+ (builder
+ "UDP"
+ "WHITELIST"
+ (_ "Which IPs are allowed to connect? Leave empty to allow connections from 
any IP.")
+ (nohelp)
+ '()
+ #t
+ ""
+ '()
+ 'advanced))
+
 (define (udp builder)
  (builder
  "UDP"
@@ -832,6 +870,7 @@
    (udp-port builder)
    (udp-mtu builder)
    (udp-blacklist builder)
+   (udp-whitelist builder)
  )
  #t
  #f
@@ -863,6 +902,18 @@
  '()
  'advanced))
 
+(define (tcp6-whitelist builder)
+ (builder
+ "TCP6"
+ "WHITELIST"
+ (_ "Which IPs are allowed to connect? Leave empty to allow any IP to 
connect.")
+ (nohelp)
+ '()
+ #t
+ ""
+ '()
+ 'advanced))
+
 (define (tcp6 builder)
  (builder
  "TCP6"
@@ -872,6 +923,7 @@
  (list 
    (tcp6-port builder)
    (tcp6-blacklist builder)
+   (tcp6-whitelist builder)
  )
  #t
  #f
@@ -915,6 +967,18 @@
  '()
  'advanced))
 
+(define (udp6-whitelist builder)
+ (builder
+ "UDP6"
+ "WHITELIST"
+ (_ "Which IPs are allowed to connect? Leave empty to allow any IP to 
connect.")
+ (nohelp)
+ '()
+ #t
+ ""
+ '()
+ 'advanced))
+
 (define (udp6 builder)
  (builder
  "UDP6"
@@ -925,6 +989,7 @@
    (udp6-port builder)
    (udp6-mtu builder)
    (udp6-blacklist builder)
+   (udp6-whitelist builder)
  )
  #t
  #f

Modified: GNUnet/po/GNUnet.pot
===================================================================
--- GNUnet/po/GNUnet.pot        2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/po/GNUnet.pot        2006-12-14 04:25:13 UTC (rev 3936)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-12-04 19:14-0700\n"
+"POT-Creation-Date: 2006-12-11 21:40-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <address@hidden>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -780,7 +780,7 @@
 "Unindexed ODB block `%s' from offset %llu already missing from datastore.\n"
 msgstr ""
 
-#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1832
+#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1846
 msgid "Failed to get traffic stats.\n"
 msgstr ""
 
@@ -1257,116 +1257,116 @@
 msgid "Supported client-server messages:\n"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:156
+#: src/applications/gap/pid_table.c:161
 msgid "# distinct interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:158
+#: src/applications/gap/pid_table.c:163
 msgid "# total RC of interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/gap.c:1645
+#: src/applications/gap/gap.c:1659
 #, c-format
 msgid "GAP received invalid content from `%s'\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:1646
+#: src/applications/gap/gap.c:1660
 msgid "myself"
 msgstr ""
 
-#: src/applications/gap/gap.c:1820
+#: src/applications/gap/gap.c:1834
 msgid ""
 "Cover traffic requested but traffic service not loaded.  Rejecting request.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:1839 src/applications/gap/gap.c:1845
-#: src/applications/gap/gap.c:1852
+#: src/applications/gap/gap.c:1853 src/applications/gap/gap.c:1859
+#: src/applications/gap/gap.c:1866
 msgid "Cannot satisfy desired level of anonymity, ignoring request.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2135
+#: src/applications/gap/gap.c:2149
 msgid "# gap requests total received"
 msgstr ""
 
-#: src/applications/gap/gap.c:2136
+#: src/applications/gap/gap.c:2150
 msgid "# gap requests policy: immediate drop"
 msgstr ""
 
-#: src/applications/gap/gap.c:2137
+#: src/applications/gap/gap.c:2151
 msgid "# gap requests policy: not routed"
 msgstr ""
 
-#: src/applications/gap/gap.c:2138
+#: src/applications/gap/gap.c:2152
 msgid "# gap requests policy: not answered"
 msgstr ""
 
-#: src/applications/gap/gap.c:2139
+#: src/applications/gap/gap.c:2153
 msgid "# gap requests processed: attempted add to RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2140
+#: src/applications/gap/gap.c:2154
 msgid "# gap requests processed: local result"
 msgstr ""
 
-#: src/applications/gap/gap.c:2141
+#: src/applications/gap/gap.c:2155
 msgid "# gap routing successes (total)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2142
+#: src/applications/gap/gap.c:2156
 msgid "# gap requests dropped: collision in RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2143
+#: src/applications/gap/gap.c:2157
 msgid "# gap requests forwarded (counting each peer)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2144
+#: src/applications/gap/gap.c:2158
 msgid "# gap duplicate requests (pending)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2145
+#: src/applications/gap/gap.c:2159
 msgid "# gap duplicate requests that were re-tried"
 msgstr ""
 
-#: src/applications/gap/gap.c:2146
+#: src/applications/gap/gap.c:2160
 msgid "# gap re-try ttl difference (cummulative)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2147
+#: src/applications/gap/gap.c:2161
 msgid "# gap reply duplicates"
 msgstr ""
 
-#: src/applications/gap/gap.c:2148
+#: src/applications/gap/gap.c:2162
 msgid "# gap spurious replies"
 msgstr ""
 
-#: src/applications/gap/gap.c:2149
+#: src/applications/gap/gap.c:2163
 msgid "# gap routing slots currently in use"
 msgstr ""
 
-#: src/applications/gap/gap.c:2150
+#: src/applications/gap/gap.c:2164
 msgid "# gap memory used for tracking seen content"
 msgstr ""
 
-#: src/applications/gap/gap.c:2151
+#: src/applications/gap/gap.c:2165
 msgid "# gap memory used for tracking routing destinations"
 msgstr ""
 
-#: src/applications/gap/gap.c:2152
+#: src/applications/gap/gap.c:2166
 msgid "# gap rewards pending"
 msgstr ""
 
-#: src/applications/gap/gap.c:2153
+#: src/applications/gap/gap.c:2167
 msgid "# gap response weights"
 msgstr ""
 
-#: src/applications/gap/gap.c:2169
+#: src/applications/gap/gap.c:2183
 msgid ""
 "Traffic service failed to load; gap cannot ensure cover-traffic "
 "availability.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2197
+#: src/applications/gap/gap.c:2211
 #, c-format
 msgid "`%s' registering handlers %d %d\n"
 msgstr ""
@@ -2172,11 +2172,11 @@
 msgid "Cannot store client info\n"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:105
 msgid "Yes"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:104
 msgid "No"
 msgstr ""
 
@@ -2263,12 +2263,12 @@
 msgid "Can't create semaphore: %i"
 msgstr ""
 
-#: src/util/os/statuscalls.c:176 src/util/os/statuscalls.c:254
+#: src/util/os/statuscalls.c:179 src/util/os/statuscalls.c:257
 #, c-format
 msgid "Failed to parse interface data from `%s'.\n"
 msgstr ""
 
-#: src/util/os/statuscalls.c:296 src/util/os/statuscalls.c:305
+#: src/util/os/statuscalls.c:299 src/util/os/statuscalls.c:308
 #, c-format
 msgid ""
 "No network interfaces defined in configuration section `%s' under `%s'!\n"
@@ -2676,7 +2676,8 @@
 msgstr ""
 
 #: src/setup/ncurses/mconf.c:161 src/setup/ncurses/mconf.c:265
-#: src/setup/ncurses/mconf.c:370
+#: src/setup/ncurses/mconf.c:370 src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:191 src/setup/ncurses/wizard_curs.c:307
 msgid "Internal error! (Choice invalid?)"
 msgstr ""
 
@@ -2696,7 +2697,7 @@
 msgid "Value is not in legal range."
 msgstr ""
 
-#: src/setup/ncurses/mconf.c:413
+#: src/setup/ncurses/mconf.c:413 src/setup/ncurses/wizard_curs.c:562
 msgid "GNUnet Configuration"
 msgstr ""
 
@@ -2723,23 +2724,33 @@
 "Your configuration changes were NOT saved.\n"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:56 src/setup/lib/wizard_util.c:131
+#: src/setup/ncurses/wizard_curs.c:67 src/setup/lib/wizard_util.c:131
 #: src/setup/lib/wizard_util.c:176
 msgid "Error"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:120 src/setup/ncurses/wizard_curs.c:135
-#: src/setup/ncurses/wizard_curs.c:188 src/setup/ncurses/wizard_curs.c:225
-#: src/setup/ncurses/wizard_curs.c:255 src/setup/ncurses/wizard_curs.c:281
-#: src/setup/ncurses/wizard_curs.c:314 src/setup/ncurses/wizard_curs.c:341
-#: src/setup/ncurses/wizard_curs.c:373 src/setup/ncurses/wizard_curs.c:398
-#: src/setup/ncurses/wizard_curs.c:427 src/setup/ncurses/wizard_curs.c:450
-#: src/setup/ncurses/wizard_curs.c:505 src/setup/ncurses/wizard_curs.c:567
-#: src/setup/ncurses/wizard_curs.c:598 src/setup/ncurses/wizard_curs.c:642
+#: src/setup/ncurses/wizard_curs.c:77 src/setup/gtk/gconf.c:417
+msgid "Help"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:86
+msgid "Error!"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:153
+msgid "Abort"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:154
+msgid "Ok"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:222 src/setup/ncurses/wizard_curs.c:290
+#: src/setup/ncurses/wizard_curs.c:443
 msgid "GNUnet configuration"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:223
 msgid ""
 "Welcome to GNUnet!\n"
 "\n"
@@ -2756,149 +2767,126 @@
 "the GNUnet team"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:136
+#: src/setup/ncurses/wizard_curs.c:291
 msgid ""
 "Choose the network interface that connects your computer to the internet "
 "from the list below."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:195
-#: src/setup/ncurses/wizard_curs.c:232 src/setup/ncurses/wizard_curs.c:287
-#: src/setup/ncurses/wizard_curs.c:319 src/setup/ncurses/wizard_curs.c:379
-#: src/setup/gtk/gconf.c:417
-msgid "Help"
-msgstr ""
-
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:196
+#: src/setup/ncurses/wizard_curs.c:312 src/setup/ncurses/wizard_curs.c:325
 msgid ""
 "The \"Network interface\" is the device that connects your computer to the "
 "internet. This is usually a modem, an ISDN card or a network card in case "
 "you are using DSL."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:189
+#: src/setup/ncurses/wizard_curs.c:323
+msgid "Network configuration: interface"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:324
 msgid ""
 "What is the name of the network interface that connects your computer to the "
 "Internet?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:226
+#: src/setup/ncurses/wizard_curs.c:335
+msgid "Network configuration: NAT"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:336
 msgid ""
-"What is this computer's public IP address or hostname?\n"
+"Is this machine behind NAT?\n"
 "\n"
-"If in doubt, leave this empty."
+"If you are connected to the internet through another computer doing SNAT, a "
+"router or a \"hardware firewall\" and other computers on the internet cannot "
+"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
+"connections through modems, ISDN cards and DNAT (also known as \"port "
+"forwarding\")."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:233
+#: src/setup/ncurses/wizard_curs.c:349
+msgid "Network configuration: IP"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:350
+msgid "What is this computer's public IP address or hostname?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:351
 msgid ""
 "If your provider always assigns the same IP-Address to you (a \"static\" IP-"
 "Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
 "every now and then (\"dynamic\" IP-Address) but there's a hostname that "
 "always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
 "enter it here.\n"
-"If in doubt, leave the field empty. GNUnet will then try to determine your "
-"IP-Address."
+"If left empty, GNUnet will try to automatically detect the IP.\n"
+"You can specify a hostname, GNUnet will then use DNS to resolve it.\n"
+"If in doubt, leave this empty."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:256
-msgid ""
-"Is this machine behind NAT?\n"
-"\n"
-"If you are connected to the internet through another computer doing SNAT, a "
-"router or a \"hardware firewall\" and other computers on the internet cannot "
-"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
-"connections through modems, ISDN cards and DNAT (also known as \"port "
-"forwarding\")."
+#: src/setup/ncurses/wizard_curs.c:366
+msgid "Bandwidth configuration: upload"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:282
-msgid "How much upstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:367
+msgid "How much upstream bandwidth (in bytes/s) may be used?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:287
+#: src/setup/ncurses/wizard_curs.c:368
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"upstream\" is the data channel through which data is *sent* to the "
-"internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate, you can set it to the maximum speed of your internet "
-"connection."
+"internet. The limit is the maximum amountwhich GNUnet is allowed to use. If "
+"you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:314
-msgid "How much downstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:380
+msgid "Bandwidth configuration: download"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:320
+#: src/setup/ncurses/wizard_curs.c:381
+msgid "How much downstream bandwidth (in bytes/s) may be used?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:382
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"downstream\" is the data channel through which data is *received* from "
-"the internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate you can set it to the maximum speed of your internet "
-"connection."
+"the internet. The limit is the maximum amountwhich GNUnet is allowed to use. "
+"If you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:342
-msgid ""
-"Share denoted bandwidth with other applications?\n"
-"\n"
-"Say \"yes\" here, if you don't want other network traffic to interfere with "
-"GNUnet's operation, but still wish to constrain GNUnet's bandwidth usage to "
-"values entered in the previous steps, or if you can't reliably measure the "
-"maximum capabilities of your connection. \"No\" can be very useful if other "
-"applications are causing a lot of traffic on your LAN.  In this case, you do "
-"not want to limit the traffic that GNUnet can inflict on your internet "
-"connection whenever your high-speed LAN gets used (e.g. by NFS)."
+#: src/setup/ncurses/wizard_curs.c:394
+msgid "Quota configuration"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:374
-msgid "How much CPU (in %) may be used?"
+#: src/setup/ncurses/wizard_curs.c:395
+msgid "What is the maximum size of the datastore in MB?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:380
+#: src/setup/ncurses/wizard_curs.c:396
 msgid ""
-"You can limit GNUnet's resource usage here.\n"
-"\n"
-"This is the percentage of processor time GNUnet is allowed to use."
+"The GNUnet datastore contains all content that GNUnet needs to store "
+"(indexed, inserted and migrated content)."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:399
-msgid ""
-"Store migrated content?\n"
-"\n"
-"GNUnet is able to store data from other peers in your datastore. This is "
-"useful if an adversary has access to your inserted content and you need to "
-"deny that the content is yours. With \"content migration\" on, the content "
-"could have \"migrated\" over the internet to your node without your "
-"knowledge.\n"
-"It also helps to spread popular content over different peers to enhance "
-"availability."
+#: src/setup/ncurses/wizard_curs.c:409
+msgid "Daemon configuration: user account"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:428
-msgid ""
-"What's the maximum datastore size in MB?\n"
-"\n"
-"The GNUnet datastore contains all data that GNUnet generates (index data, "
-"inserted and migrated content)."
+#: src/setup/ncurses/wizard_curs.c:410
+msgid "As which user should gnunetd be run?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:451
+#: src/setup/ncurses/wizard_curs.c:411
 msgid ""
-"Do you want to launch GNUnet as a system service?\n"
-"\n"
-"If you say \"yes\" here, the GNUnet background process will be automatically "
-"started when you turn on your computer. If you say \"no\" here, you have to "
-"launch GNUnet yourself each time you want to use it."
-msgstr ""
-
-#: src/setup/ncurses/wizard_curs.c:506
-msgid ""
-"Define the user owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new user "
 "account under which the GNUnet service is started at system startup.\n"
 "\n"
@@ -2906,15 +2894,19 @@
 "includes files you want to publish in GNUnet. You'll have to grant read "
 "permissions to the user specified below.\n"
 "\n"
-"Leave the fields empty to run GNUnet with system privileges.\n"
-"\n"
-"GNUnet user:"
+"Leave the field empty to run GNUnet with system privileges.\n"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:568
+#: src/setup/ncurses/wizard_curs.c:429
+msgid "Daemon configuration: group account"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:430
+msgid "As which group should gnunetd be run?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:431
 msgid ""
-"Define the group owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new group "
 "for the chosen user account.\n"
 "\n"
@@ -2922,48 +2914,61 @@
 "\n"
 "Only members of this group will be allowed to start and stop the the GNUnet "
 "server and have access to GNUnet server data.\n"
-"\n"
-"GNUnet group:"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:599
+#: src/setup/ncurses/wizard_curs.c:444
+msgid "Do you want to automatically launch GNUnet as a system service?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:445
 msgid ""
-"If you are an experienced user, you may want to tweak your GNUnet "
-"installation using the enhanced configurator.\n"
-"\n"
-"Do you want to start it after saving your configuration?"
+"If you say \"yes\" here, the GNUnet background process will be automatically "
+"started when you turn on your computer. If you say \"no\" here, you have to "
+"launch GNUnet yourself each time you want to use it."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:620 src/setup/gtk/wizard_gtk.c:473
-msgid "Unable to create user account:"
+#: src/setup/ncurses/wizard_curs.c:466 src/setup/gtk/wizard_gtk.c:428
+#, c-format
+msgid "Unable to save configuration file `%s':"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:623 src/setup/gtk/wizard_gtk.c:480
-msgid "Unable to change startup process:"
+#: src/setup/ncurses/wizard_curs.c:493
+msgid "Unable to create user account for daemon."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:636
-#, c-format
-msgid ""
-"Unable to save configuration file %s: %s.\n"
-"\n"
-"Try again?"
+#: src/setup/ncurses/wizard_curs.c:507
+msgid "Unable to setup autostart for daemon."
 msgstr ""
 
+#: src/setup/ncurses/wizard_curs.c:521
+msgid "Save configuration?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:522
+msgid "Save configuration now?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:566
+msgid "Back"
+msgstr ""
+
 #: src/setup/gtk/wizard_gtk.c:145
 msgid "(unknown connection)"
 msgstr ""
 
-#: src/setup/gtk/wizard_gtk.c:422
-#, c-format
-msgid "Unable to save configuration file `%s':"
+#: src/setup/gtk/wizard_gtk.c:450
+msgid "Do you want to save the new configuration?"
 msgstr ""
 
-#: src/setup/gtk/wizard_gtk.c:444
-msgid "Do you want to save the new configuration?"
+#: src/setup/gtk/wizard_gtk.c:480
+msgid "Unable to create user account:"
 msgstr ""
 
-#: src/setup/gtk/wizard_gtk.c:496
+#: src/setup/gtk/wizard_gtk.c:490
+msgid "Unable to change startup process:"
+msgstr ""
+
+#: src/setup/gtk/wizard_gtk.c:505
 msgid ""
 "Running gnunet-update failed.\n"
 "This maybe due to insufficient permissions, please check your "
@@ -3329,15 +3334,15 @@
 msgid "MTU for `%s' is probably too low (fragmentation not implemented!)\n"
 msgstr ""
 
-#: src/transports/tcp_old.c:1256
+#: src/transports/tcp_old.c:1258
 msgid "# bytes received via TCP-OLD"
 msgstr ""
 
-#: src/transports/tcp_old.c:1258
+#: src/transports/tcp_old.c:1260
 msgid "# bytes sent via TCP-OLD"
 msgstr ""
 
-#: src/transports/tcp_old.c:1260
+#: src/transports/tcp_old.c:1262
 msgid "# bytes dropped by TCP-OLD (outgoing)"
 msgstr ""
 
@@ -3457,62 +3462,70 @@
 msgid "%s failed, message type %d already in use.\n"
 msgstr ""
 
-#: src/server/connection.c:1024
+#: src/server/connection.c:1114
 #, c-format
 msgid "`%s' selected %d out of %d messages (MTU: %d).\n"
 msgstr ""
 
-#: src/server/connection.c:1033
+#: src/server/connection.c:1123
 #, c-format
 msgid "Message details: %u: length %d, priority: %d\n"
 msgstr ""
 
-#: src/server/connection.c:2419
+#: src/server/connection.c:2529
 #, c-format
 msgid "Message from `%s' discarded: invalid format.\n"
 msgstr ""
 
-#: src/server/connection.c:2491
+#: src/server/connection.c:2607
 #, c-format
 msgid "Invalid sequence number %u <= %u, dropping message.\n"
 msgstr ""
 
-#: src/server/connection.c:2508
+#: src/server/connection.c:2624
 msgid "Message received more than one day old. Dropped.\n"
 msgstr ""
 
-#: src/server/connection.c:2937
+#: src/server/connection.c:3063
 msgid "# outgoing messages dropped"
 msgstr ""
 
-#: src/server/connection.c:2941
+#: src/server/connection.c:3067
 msgid "# bytes of outgoing messages dropped"
 msgstr ""
 
-#: src/server/connection.c:2943
+#: src/server/connection.c:3069
 msgid "# connections closed (HANGUP sent)"
 msgstr ""
 
-#: src/server/connection.c:2946
+#: src/server/connection.c:3072
 msgid "# bytes encrypted"
 msgstr ""
 
-#: src/server/connection.c:2950
+#: src/server/connection.c:3076
 msgid "# bytes transmitted"
 msgstr ""
 
-#: src/server/connection.c:2954
+#: src/server/connection.c:3080
 msgid "# bytes received"
 msgstr ""
 
-#: src/server/connection.c:2956
+#: src/server/connection.c:3083
 msgid "# bytes decrypted"
 msgstr ""
 
-#: src/server/connection.c:2957
+#: src/server/connection.c:3085
 msgid "# bytes noise sent"
 msgstr ""
 
+#: src/server/connection.c:3087
+msgid "# total advertised bytes per second received limit"
+msgstr ""
+
+#: src/server/connection.c:3089
+msgid "# total allowed bytes per second transmission limit"
+msgstr ""
+
 #: src/server/version.c:152
 msgid ""
 "Failed to determine filename used to store GNUnet version information!\n"

Modified: GNUnet/po/de.po
===================================================================
--- GNUnet/po/de.po     2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/po/de.po     2006-12-14 04:25:13 UTC (rev 3936)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-12-04 19:14-0700\n"
+"POT-Creation-Date: 2006-12-11 21:40-0700\n"
 "PO-Revision-Date: 2006-03-17 21:37+0100\n"
 "Last-Translator: Nils Durner <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -868,7 +868,7 @@
 "Deindizierter ODB Block `%s' vom Offset %llu fehlt bereits im "
 "Datenspeicher.\n"
 
-#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1832
+#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1846
 msgid "Failed to get traffic stats.\n"
 msgstr "Statistiken über den Netzwerkverkehr konnten nicht ermittelt werden.\n"
 
@@ -1367,116 +1367,116 @@
 msgid "Supported client-server messages:\n"
 msgstr "unterstützte Client-Server Nachrichten:\n"
 
-#: src/applications/gap/pid_table.c:156
+#: src/applications/gap/pid_table.c:161
 msgid "# distinct interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:158
+#: src/applications/gap/pid_table.c:163
 msgid "# total RC of interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/gap.c:1645
+#: src/applications/gap/gap.c:1659
 #, c-format
 msgid "GAP received invalid content from `%s'\n"
 msgstr "GAP hat ungültige Inhalte von `%s' empfangen.\n"
 
-#: src/applications/gap/gap.c:1646
+#: src/applications/gap/gap.c:1660
 msgid "myself"
 msgstr ""
 
-#: src/applications/gap/gap.c:1820
+#: src/applications/gap/gap.c:1834
 msgid ""
 "Cover traffic requested but traffic service not loaded.  Rejecting request.\n"
 msgstr ""
 "Verdeckender Netzwerkverkehr angefordert, aber der Verkehrsdienst wurde "
 "nicht geladen. Anfrage wird abgelehnt.\n"
 
-#: src/applications/gap/gap.c:1839 src/applications/gap/gap.c:1845
-#: src/applications/gap/gap.c:1852
+#: src/applications/gap/gap.c:1853 src/applications/gap/gap.c:1859
+#: src/applications/gap/gap.c:1866
 msgid "Cannot satisfy desired level of anonymity, ignoring request.\n"
 msgstr ""
 "Gewünschter Grad an Anonymität kann nicht erreicht werden, Anfrage wird "
 "ignoriert.\n"
 
-#: src/applications/gap/gap.c:2135
+#: src/applications/gap/gap.c:2149
 msgid "# gap requests total received"
 msgstr "# gap Anfragen insgesamt empfangen"
 
-#: src/applications/gap/gap.c:2136
+#: src/applications/gap/gap.c:2150
 msgid "# gap requests policy: immediate drop"
 msgstr "# gap Anfragen mit taktischer Entscheidung: sofortiges Verwerfen"
 
-#: src/applications/gap/gap.c:2137
+#: src/applications/gap/gap.c:2151
 msgid "# gap requests policy: not routed"
 msgstr "# gap Anfragen mit taktischer Entscheidung: kein Routing"
 
-#: src/applications/gap/gap.c:2138
+#: src/applications/gap/gap.c:2152
 msgid "# gap requests policy: not answered"
 msgstr "# gap Anfragen mit taktischer Entscheidung: nicht Antworten"
 
-#: src/applications/gap/gap.c:2139
+#: src/applications/gap/gap.c:2153
 msgid "# gap requests processed: attempted add to RT"
 msgstr "# gap Anfragen verarbeitet: versucht, der RT hinzuzufügen"
 
-#: src/applications/gap/gap.c:2140
+#: src/applications/gap/gap.c:2154
 msgid "# gap requests processed: local result"
 msgstr "# gap Anfragen verarbeitet: lokales Ergebnis"
 
-#: src/applications/gap/gap.c:2141
+#: src/applications/gap/gap.c:2155
 msgid "# gap routing successes (total)"
 msgstr "# gap Routing erfolgreich (insgesamt)"
 
-#: src/applications/gap/gap.c:2142
+#: src/applications/gap/gap.c:2156
 msgid "# gap requests dropped: collision in RT"
 msgstr "# gap Anfragen verworfen: Kollision in RT"
 
-#: src/applications/gap/gap.c:2143
+#: src/applications/gap/gap.c:2157
 msgid "# gap requests forwarded (counting each peer)"
 msgstr "#gap Anfragen weitergeleitet (jeder Knoten gezählt)"
 
-#: src/applications/gap/gap.c:2144
+#: src/applications/gap/gap.c:2158
 msgid "# gap duplicate requests (pending)"
 msgstr "# gap doppelte Anfragen (unfertig)"
 
-#: src/applications/gap/gap.c:2145
+#: src/applications/gap/gap.c:2159
 msgid "# gap duplicate requests that were re-tried"
 msgstr "# gap doppelte Anfragen, die wiederholt wurden"
 
-#: src/applications/gap/gap.c:2146
+#: src/applications/gap/gap.c:2160
 msgid "# gap re-try ttl difference (cummulative)"
 msgstr "# gap Wiederholungs-TTL-Differenz (kummulativ)"
 
-#: src/applications/gap/gap.c:2147
+#: src/applications/gap/gap.c:2161
 msgid "# gap reply duplicates"
 msgstr "#gap doppelte Antworten"
 
-#: src/applications/gap/gap.c:2148
+#: src/applications/gap/gap.c:2162
 msgid "# gap spurious replies"
 msgstr "# gap falsche Antworten"
 
-#: src/applications/gap/gap.c:2149
+#: src/applications/gap/gap.c:2163
 msgid "# gap routing slots currently in use"
 msgstr "# gap Routingschächte im Moment in Verwendung"
 
-#: src/applications/gap/gap.c:2150
+#: src/applications/gap/gap.c:2164
 msgid "# gap memory used for tracking seen content"
 msgstr ""
 
-#: src/applications/gap/gap.c:2151
+#: src/applications/gap/gap.c:2165
 msgid "# gap memory used for tracking routing destinations"
 msgstr ""
 
-#: src/applications/gap/gap.c:2152
+#: src/applications/gap/gap.c:2166
 #, fuzzy
 msgid "# gap rewards pending"
 msgstr "# gap doppelte Anfragen (unfertig)"
 
-#: src/applications/gap/gap.c:2153
+#: src/applications/gap/gap.c:2167
 #, fuzzy
 msgid "# gap response weights"
 msgstr "# gap falsche Antworten"
 
-#: src/applications/gap/gap.c:2169
+#: src/applications/gap/gap.c:2183
 msgid ""
 "Traffic service failed to load; gap cannot ensure cover-traffic "
 "availability.\n"
@@ -1484,7 +1484,7 @@
 "Verkehrsdienst konnte nicht geladen werden, GAP kann keinen verdeckenden "
 "Netzwerkverkehr sicherstellen.\n"
 
-#: src/applications/gap/gap.c:2197
+#: src/applications/gap/gap.c:2211
 #, c-format
 msgid "`%s' registering handlers %d %d\n"
 msgstr "`%s' registriert Handler %d %d\n"
@@ -2321,11 +2321,11 @@
 msgid "Cannot store client info\n"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:105
 msgid "Yes"
 msgstr "Ja"
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:104
 msgid "No"
 msgstr "Nein"
 
@@ -2414,12 +2414,12 @@
 msgid "Can't create semaphore: %i"
 msgstr "Semaphore konnte nicht angelegt werden: %i"
 
-#: src/util/os/statuscalls.c:176 src/util/os/statuscalls.c:254
+#: src/util/os/statuscalls.c:179 src/util/os/statuscalls.c:257
 #, fuzzy, c-format
 msgid "Failed to parse interface data from `%s'.\n"
 msgstr "Fehler beim Parsen der Gerätedaten von `%s' bei %s:%d.\n"
 
-#: src/util/os/statuscalls.c:296 src/util/os/statuscalls.c:305
+#: src/util/os/statuscalls.c:299 src/util/os/statuscalls.c:308
 #, c-format
 msgid ""
 "No network interfaces defined in configuration section `%s' under `%s'!\n"
@@ -2837,7 +2837,8 @@
 msgstr ""
 
 #: src/setup/ncurses/mconf.c:161 src/setup/ncurses/mconf.c:265
-#: src/setup/ncurses/mconf.c:370
+#: src/setup/ncurses/mconf.c:370 src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:191 src/setup/ncurses/wizard_curs.c:307
 msgid "Internal error! (Choice invalid?)"
 msgstr ""
 
@@ -2857,7 +2858,7 @@
 msgid "Value is not in legal range."
 msgstr ""
 
-#: src/setup/ncurses/mconf.c:413
+#: src/setup/ncurses/mconf.c:413 src/setup/ncurses/wizard_curs.c:562
 #, fuzzy
 msgid "GNUnet Configuration"
 msgstr "GNUnet Konfiguration"
@@ -2888,23 +2889,36 @@
 "Your configuration changes were NOT saved.\n"
 msgstr "Konfigurationsdatei `%s' wurde erzeugt.\n"
 
-#: src/setup/ncurses/wizard_curs.c:56 src/setup/lib/wizard_util.c:131
+#: src/setup/ncurses/wizard_curs.c:67 src/setup/lib/wizard_util.c:131
 #: src/setup/lib/wizard_util.c:176
 msgid "Error"
 msgstr "Fehler"
 
-#: src/setup/ncurses/wizard_curs.c:120 src/setup/ncurses/wizard_curs.c:135
-#: src/setup/ncurses/wizard_curs.c:188 src/setup/ncurses/wizard_curs.c:225
-#: src/setup/ncurses/wizard_curs.c:255 src/setup/ncurses/wizard_curs.c:281
-#: src/setup/ncurses/wizard_curs.c:314 src/setup/ncurses/wizard_curs.c:341
-#: src/setup/ncurses/wizard_curs.c:373 src/setup/ncurses/wizard_curs.c:398
-#: src/setup/ncurses/wizard_curs.c:427 src/setup/ncurses/wizard_curs.c:450
-#: src/setup/ncurses/wizard_curs.c:505 src/setup/ncurses/wizard_curs.c:567
-#: src/setup/ncurses/wizard_curs.c:598 src/setup/ncurses/wizard_curs.c:642
+#: src/setup/ncurses/wizard_curs.c:77 src/setup/gtk/gconf.c:417
+msgid "Help"
+msgstr "Hilfe"
+
+#: src/setup/ncurses/wizard_curs.c:86
+#, fuzzy
+msgid "Error!"
+msgstr "Fehler"
+
+#: src/setup/ncurses/wizard_curs.c:153
+#, fuzzy
+msgid "Abort"
+msgstr "_über"
+
+#: src/setup/ncurses/wizard_curs.c:154
+#, fuzzy
+msgid "Ok"
+msgstr "k"
+
+#: src/setup/ncurses/wizard_curs.c:222 src/setup/ncurses/wizard_curs.c:290
+#: src/setup/ncurses/wizard_curs.c:443
 msgid "GNUnet configuration"
 msgstr "GNUnet Konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:223
 msgid ""
 "Welcome to GNUnet!\n"
 "\n"
@@ -2934,7 +2948,7 @@
 "\n"
 "das GNUnet-Team"
 
-#: src/setup/ncurses/wizard_curs.c:136
+#: src/setup/ncurses/wizard_curs.c:291
 msgid ""
 "Choose the network interface that connects your computer to the internet "
 "from the list below."
@@ -2942,14 +2956,7 @@
 "Wählen Sie das Netzwerkgerät, das Ihren Computer mit dem Internet verbindet, "
 "aus unten stehender Liste."
 
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:195
-#: src/setup/ncurses/wizard_curs.c:232 src/setup/ncurses/wizard_curs.c:287
-#: src/setup/ncurses/wizard_curs.c:319 src/setup/ncurses/wizard_curs.c:379
-#: src/setup/gtk/gconf.c:417
-msgid "Help"
-msgstr "Hilfe"
-
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:196
+#: src/setup/ncurses/wizard_curs.c:312 src/setup/ncurses/wizard_curs.c:325
 msgid ""
 "The \"Network interface\" is the device that connects your computer to the "
 "internet. This is usually a modem, an ISDN card or a network card in case "
@@ -2959,7 +2966,12 @@
 "verbindet. Dies ist üblicherweise ein Modem, eine ISDN-Karte oder eine "
 "Netzwerkkarte falls Sie DSL nutzen."
 
-#: src/setup/ncurses/wizard_curs.c:189
+#: src/setup/ncurses/wizard_curs.c:323
+#, fuzzy
+msgid "Network configuration: interface"
+msgstr "Netzwerkgerät:"
+
+#: src/setup/ncurses/wizard_curs.c:324
 msgid ""
 "What is the name of the network interface that connects your computer to the "
 "Internet?"
@@ -2967,25 +2979,53 @@
 "Was ist der Name des Netzwerkgerätes, das Ihren Computer mit dem Internet "
 "verbindet?"
 
-#: src/setup/ncurses/wizard_curs.c:226
+#: src/setup/ncurses/wizard_curs.c:335
+#, fuzzy
+msgid "Network configuration: NAT"
+msgstr "GNUnet Konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:336
 msgid ""
-"What is this computer's public IP address or hostname?\n"
+"Is this machine behind NAT?\n"
 "\n"
-"If in doubt, leave this empty."
+"If you are connected to the internet through another computer doing SNAT, a "
+"router or a \"hardware firewall\" and other computers on the internet cannot "
+"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
+"connections through modems, ISDN cards and DNAT (also known as \"port "
+"forwarding\")."
 msgstr ""
+"Ist diese Maschine hinter NAT?\n"
+"\n"
+"Wenn Sie mit dem Internet über einen anderen Computer per SNAT, einem Router "
+"oder einer \"Hardware Firewall\" verbunden sind und andere Computer im "
+"Internet keine Verbindung zu diesem Computer herstellen können, so sagen Sie "
+"hier \"Ja\". Antworten Sie \"Nein\" bei direkten Verbindungen über Modem, "
+"ISDN-Karten und DNAT (auch bekannt als \"Port forwarding\")."
+
+#: src/setup/ncurses/wizard_curs.c:349
+#, fuzzy
+msgid "Network configuration: IP"
+msgstr "GNUnet Konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:350
+#, fuzzy
+msgid "What is this computer's public IP address or hostname?"
+msgstr ""
 "Wie heißt die öffentliche IP-Adresse oder der öffentliche Name dieses "
 "Computers?\n"
 "Wenn Sie nicht sicher sind, lassen Sie dieses Feld leer."
 
-#: src/setup/ncurses/wizard_curs.c:233
+#: src/setup/ncurses/wizard_curs.c:351
+#, fuzzy
 msgid ""
 "If your provider always assigns the same IP-Address to you (a \"static\" IP-"
 "Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
 "every now and then (\"dynamic\" IP-Address) but there's a hostname that "
 "always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
 "enter it here.\n"
-"If in doubt, leave the field empty. GNUnet will then try to determine your "
-"IP-Address."
+"If left empty, GNUnet will try to automatically detect the IP.\n"
+"You can specify a hostname, GNUnet will then use DNS to resolve it.\n"
+"If in doubt, leave this empty."
 msgstr ""
 "Wenn Ihr Provider Ihnen immer die gleiche IP-Adresse zuweist (eine "
 "\"statische\" IP-Adresse), so geben Sie diese in das \"IP-Adresse\"-Feld "
@@ -2995,37 +3035,26 @@
 "Wenn Sie nicht sicher sind, so können Sie das Feld leer lassen. GNUnet wird "
 "dann versuchen, Ihre IP-Adresse automatisch zu bestimmen."
 
-#: src/setup/ncurses/wizard_curs.c:256
-msgid ""
-"Is this machine behind NAT?\n"
-"\n"
-"If you are connected to the internet through another computer doing SNAT, a "
-"router or a \"hardware firewall\" and other computers on the internet cannot "
-"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
-"connections through modems, ISDN cards and DNAT (also known as \"port "
-"forwarding\")."
-msgstr ""
-"Ist diese Maschine hinter NAT?\n"
-"\n"
-"Wenn Sie mit dem Internet über einen anderen Computer per SNAT, einem Router "
-"oder einer \"Hardware Firewall\" verbunden sind und andere Computer im "
-"Internet keine Verbindung zu diesem Computer herstellen können, so sagen Sie "
-"hier \"Ja\". Antworten Sie \"Nein\" bei direkten Verbindungen über Modem, "
-"ISDN-Karten und DNAT (auch bekannt als \"Port forwarding\")."
+#: src/setup/ncurses/wizard_curs.c:366
+#, fuzzy
+msgid "Bandwidth configuration: upload"
+msgstr "GNUnet Konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:282
-msgid "How much upstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:367
+#, fuzzy
+msgid "How much upstream bandwidth (in bytes/s) may be used?"
 msgstr "Wieviel Upstream (Bytes/s) darf verwendet werden?"
 
-#: src/setup/ncurses/wizard_curs.c:287
+#: src/setup/ncurses/wizard_curs.c:368
+#, fuzzy
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"upstream\" is the data channel through which data is *sent* to the "
-"internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate, you can set it to the maximum speed of your internet "
-"connection."
+"internet. The limit is the maximum amountwhich GNUnet is allowed to use. If "
+"you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 "Hier können Sie GNUnets Ressourcenverwendung einschränken.\n"
 "\n"
@@ -3035,19 +3064,26 @@
 "festlegen. Wenn Sie eine Flatrate haben, können Sie die maximale "
 "Geschwindigkeit Ihrer Internetverbindung angeben."
 
-#: src/setup/ncurses/wizard_curs.c:314
-msgid "How much downstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:380
+#, fuzzy
+msgid "Bandwidth configuration: download"
+msgstr "GNUnet Konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:381
+#, fuzzy
+msgid "How much downstream bandwidth (in bytes/s) may be used?"
 msgstr "Wieviel Downstream (Bytes/s) darf verwendet werden?"
 
-#: src/setup/ncurses/wizard_curs.c:320
+#: src/setup/ncurses/wizard_curs.c:382
+#, fuzzy
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"downstream\" is the data channel through which data is *received* from "
-"the internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate you can set it to the maximum speed of your internet "
-"connection."
+"the internet. The limit is the maximum amountwhich GNUnet is allowed to use. "
+"If you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 "Hier können Sie GNUnets Ressourcenverwendung einschränken.\n"
 "\n"
@@ -3057,95 +3093,37 @@
 "festlegen. Wenn Sie eine Flatrate haben, können Sie die maximale "
 "Geschwindigkeit Ihrer Internetverbindung angeben."
 
-#: src/setup/ncurses/wizard_curs.c:342
-msgid ""
-"Share denoted bandwidth with other applications?\n"
-"\n"
-"Say \"yes\" here, if you don't want other network traffic to interfere with "
-"GNUnet's operation, but still wish to constrain GNUnet's bandwidth usage to "
-"values entered in the previous steps, or if you can't reliably measure the "
-"maximum capabilities of your connection. \"No\" can be very useful if other "
-"applications are causing a lot of traffic on your LAN.  In this case, you do "
-"not want to limit the traffic that GNUnet can inflict on your internet "
-"connection whenever your high-speed LAN gets used (e.g. by NFS)."
-msgstr ""
-"Angegebene Bandbreite mit anderen Anwendungen teilen?\n"
-"\n"
-"Sagen Sie hier \"Ja\", wenn Sie nicht möchten, dass anderer Netzwerkverkehr "
-"GNUnets Funktion stört aber dennoch GNUnets Bandbreite gemäß den Angaben in "
-"den vorherigen Schritten einschränken möchten oder Sie die maximalen "
-"Möglichkeiten Ihrer Internetverbindung nicht zuverlässig messen können. "
-"\"Nein\" kann nützlich sein, wenn andere Anwendungen viel Netzwerkverkehr in "
-"Ihrem LAN verursachen. In diesem Fall möchten Sie nicht GNUnets "
-"Netzwerkverkehr über die Internetverbindung einschränken, wann immer Ihre "
-"Hochgeschwindigkeits-LAN-Verbindung verwendet wird (z.B. durch NFS)."
+#: src/setup/ncurses/wizard_curs.c:394
+#, fuzzy
+msgid "Quota configuration"
+msgstr "GNUnet Konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:374
-msgid "How much CPU (in %) may be used?"
-msgstr "Wieviel CPU (in %) darf verwendet werden?"
-
-#: src/setup/ncurses/wizard_curs.c:380
-msgid ""
-"You can limit GNUnet's resource usage here.\n"
-"\n"
-"This is the percentage of processor time GNUnet is allowed to use."
+#: src/setup/ncurses/wizard_curs.c:395
+msgid "What is the maximum size of the datastore in MB?"
 msgstr ""
-"Hier können Sie GNUnets Ressourcenverwendung einschränken.\n"
-"\n"
-"Dies ist der Prozentsatz an Prozessorzeit, den GNUnet verwenden darf."
 
-#: src/setup/ncurses/wizard_curs.c:399
+#: src/setup/ncurses/wizard_curs.c:396
+#, fuzzy
 msgid ""
-"Store migrated content?\n"
-"\n"
-"GNUnet is able to store data from other peers in your datastore. This is "
-"useful if an adversary has access to your inserted content and you need to "
-"deny that the content is yours. With \"content migration\" on, the content "
-"could have \"migrated\" over the internet to your node without your "
-"knowledge.\n"
-"It also helps to spread popular content over different peers to enhance "
-"availability."
+"The GNUnet datastore contains all content that GNUnet needs to store "
+"(indexed, inserted and migrated content)."
 msgstr ""
-"Sollen migrierte Inhalte gespeichert werden?\n"
-"GNUnet ist in der Lage, Daten von anderen Knoten in Ihrem Datenspeicher zu "
-"speichern. Das ist nützlich, wenn ein Widersacher Zugriff auf Ihre "
-"eingefügten Inhalte erlangt und Sie abstreiten müssen, dass diese Daten "
-"Ihnen gehören. Ist die \"Inhaltsmigration\" angeschaltet, so können die "
-"Inhalte über das Internet von einem anderen Knoten zu Ihrem Rechner ohne Ihr "
-"Wissen \"gewandert\" sein.\n"
-"Außerdem hilft es, beliebte Inhalte über verschiedene Netzteilnehmer zu "
-"verteilen, um so die Verfügbarkeit zu erhöhen."
-
-#: src/setup/ncurses/wizard_curs.c:428
-msgid ""
-"What's the maximum datastore size in MB?\n"
-"\n"
-"The GNUnet datastore contains all data that GNUnet generates (index data, "
-"inserted and migrated content)."
-msgstr ""
 "Was ist die maximale Größe des GNUnet Datenspeichers (in MB)?\n"
 "Der GNUnet Datenspeicher enthält alle Daten, die GNUnet erzeugt (Indexdaten, "
 "eingefügte und migrierte Inhalte)."
 
-#: src/setup/ncurses/wizard_curs.c:451
-msgid ""
-"Do you want to launch GNUnet as a system service?\n"
-"\n"
-"If you say \"yes\" here, the GNUnet background process will be automatically "
-"started when you turn on your computer. If you say \"no\" here, you have to "
-"launch GNUnet yourself each time you want to use it."
+#: src/setup/ncurses/wizard_curs.c:409
+#, fuzzy
+msgid "Daemon configuration: user account"
+msgstr "Fehler beim Anlegen des Benutzerkontos:"
+
+#: src/setup/ncurses/wizard_curs.c:410
+msgid "As which user should gnunetd be run?"
 msgstr ""
-"Möchten Sie GNUnet als Systemdienst starten?\n"
-"\n"
-"Wenn Sie hier \"Ja\" sagen, so wird der GNUnet Hintergrundprozess jedesmal "
-"automatisch gestartet, wenn Sie Ihren Computer einschalten. Wenn Sie hier "
-"\"Nein\" sagen, so müssen Sie GNUnet jedesmal selbst starten, wenn Sie es "
-"verwenden möchten."
 
-#: src/setup/ncurses/wizard_curs.c:506
+#: src/setup/ncurses/wizard_curs.c:411
+#, fuzzy
 msgid ""
-"Define the user owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new user "
 "account under which the GNUnet service is started at system startup.\n"
 "\n"
@@ -3153,9 +3131,7 @@
 "includes files you want to publish in GNUnet. You'll have to grant read "
 "permissions to the user specified below.\n"
 "\n"
-"Leave the fields empty to run GNUnet with system privileges.\n"
-"\n"
-"GNUnet user:"
+"Leave the field empty to run GNUnet with system privileges.\n"
 msgstr ""
 "Geben Sie den Benutzer an, dem der GNUnet Dienst gehören soll.\n"
 "\n"
@@ -3172,10 +3148,17 @@
 "\n"
 "GNUnet Benutzer:"
 
-#: src/setup/ncurses/wizard_curs.c:568
+#: src/setup/ncurses/wizard_curs.c:429
+msgid "Daemon configuration: group account"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:430
+msgid "As which group should gnunetd be run?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:431
+#, fuzzy
 msgid ""
-"Define the group owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new group "
 "for the chosen user account.\n"
 "\n"
@@ -3183,8 +3166,6 @@
 "\n"
 "Only members of this group will be allowed to start and stop the the GNUnet "
 "server and have access to GNUnet server data.\n"
-"\n"
-"GNUnet group:"
 msgstr ""
 "Definieren Sie eine Gruppe, der der GNUnet Dienst gehört.\n"
 "\n"
@@ -3198,53 +3179,71 @@
 "\n"
 "GNUnet Gruppe:"
 
-#: src/setup/ncurses/wizard_curs.c:599
+#: src/setup/ncurses/wizard_curs.c:444
+msgid "Do you want to automatically launch GNUnet as a system service?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:445
+#, fuzzy
 msgid ""
-"If you are an experienced user, you may want to tweak your GNUnet "
-"installation using the enhanced configurator.\n"
-"\n"
-"Do you want to start it after saving your configuration?"
+"If you say \"yes\" here, the GNUnet background process will be automatically "
+"started when you turn on your computer. If you say \"no\" here, you have to "
+"launch GNUnet yourself each time you want to use it."
 msgstr ""
-"Wenn Sie ein erfahrener Benutzer sind, so möchten Sie vielleicht Ihre GNUnet "
-"Installation über den erweiterten Konfigurator optimieren.\n"
+"Möchten Sie GNUnet als Systemdienst starten?\n"
 "\n"
-"Möchten Sie ihn starten, nachdem Ihre Konfiguration gespeichert wurde?"
+"Wenn Sie hier \"Ja\" sagen, so wird der GNUnet Hintergrundprozess jedesmal "
+"automatisch gestartet, wenn Sie Ihren Computer einschalten. Wenn Sie hier "
+"\"Nein\" sagen, so müssen Sie GNUnet jedesmal selbst starten, wenn Sie es "
+"verwenden möchten."
 
-#: src/setup/ncurses/wizard_curs.c:620 src/setup/gtk/wizard_gtk.c:473
-msgid "Unable to create user account:"
+#: src/setup/ncurses/wizard_curs.c:466 src/setup/gtk/wizard_gtk.c:428
+#, c-format
+msgid "Unable to save configuration file `%s':"
+msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
+
+#: src/setup/ncurses/wizard_curs.c:493
+#, fuzzy
+msgid "Unable to create user account for daemon."
 msgstr "Fehler beim Anlegen des Benutzerkontos:"
 
-#: src/setup/ncurses/wizard_curs.c:623 src/setup/gtk/wizard_gtk.c:480
-msgid "Unable to change startup process:"
-msgstr "Startprozeß konnte nicht geändert werden:"
-
-#: src/setup/ncurses/wizard_curs.c:636
-#, c-format
-msgid ""
-"Unable to save configuration file %s: %s.\n"
-"\n"
-"Try again?"
+#: src/setup/ncurses/wizard_curs.c:507
+msgid "Unable to setup autostart for daemon."
 msgstr ""
-"Konfigurationsdatei %s kann nicht gespeichert werden: %s.\n"
-"\n"
-"Soll es nochmals versucht werden?"
 
+#: src/setup/ncurses/wizard_curs.c:521
+#, fuzzy
+msgid "Save configuration?"
+msgstr "GNUnet Konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:522
+#, fuzzy
+msgid "Save configuration now?"
+msgstr "GNUnet Konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:566
+msgid "Back"
+msgstr "Zurück"
+
 #: src/setup/gtk/wizard_gtk.c:145
 #, fuzzy
 msgid "(unknown connection)"
 msgstr "Netzwerkverbindung"
 
-#: src/setup/gtk/wizard_gtk.c:422
-#, c-format
-msgid "Unable to save configuration file `%s':"
-msgstr "Fehler beim Speichern der Konfigurationsdatei `%s':"
-
-#: src/setup/gtk/wizard_gtk.c:444
+#: src/setup/gtk/wizard_gtk.c:450
 #, fuzzy
 msgid "Do you want to save the new configuration?"
 msgstr "Möchten Sie Ihre Einstellungen speichern?"
 
-#: src/setup/gtk/wizard_gtk.c:496
+#: src/setup/gtk/wizard_gtk.c:480
+msgid "Unable to create user account:"
+msgstr "Fehler beim Anlegen des Benutzerkontos:"
+
+#: src/setup/gtk/wizard_gtk.c:490
+msgid "Unable to change startup process:"
+msgstr "Startprozeß konnte nicht geändert werden:"
+
+#: src/setup/gtk/wizard_gtk.c:505
 msgid ""
 "Running gnunet-update failed.\n"
 "This maybe due to insufficient permissions, please check your "
@@ -3644,17 +3643,17 @@
 "MTU für `%s' ist möglicherweise zu gering (Fragmentierung ist nicht "
 "implementiert!)\n"
 
-#: src/transports/tcp_old.c:1256
+#: src/transports/tcp_old.c:1258
 #, fuzzy
 msgid "# bytes received via TCP-OLD"
 msgstr "# Bytes empfangen über TCP"
 
-#: src/transports/tcp_old.c:1258
+#: src/transports/tcp_old.c:1260
 #, fuzzy
 msgid "# bytes sent via TCP-OLD"
 msgstr "# Bytes gesendet über TCP"
 
-#: src/transports/tcp_old.c:1260
+#: src/transports/tcp_old.c:1262
 #, fuzzy
 msgid "# bytes dropped by TCP-OLD (outgoing)"
 msgstr "# Bytes verworfen von TCP (ausgehend)"
@@ -3794,65 +3793,73 @@
 msgid "%s failed, message type %d already in use.\n"
 msgstr "%s schlug fehl, Nachrichten Typ %d ist bereits in Verwendung.\n"
 
-#: src/server/connection.c:1024
+#: src/server/connection.c:1114
 #, c-format
 msgid "`%s' selected %d out of %d messages (MTU: %d).\n"
 msgstr "`%s' wählte %d von %d Nachrichten aus (MTU: %d).\n"
 
-#: src/server/connection.c:1033
+#: src/server/connection.c:1123
 #, c-format
 msgid "Message details: %u: length %d, priority: %d\n"
 msgstr "Nachrichten Details: %u: Länge %d, Priorität: %d\n"
 
-#: src/server/connection.c:2419
+#: src/server/connection.c:2529
 #, c-format
 msgid "Message from `%s' discarded: invalid format.\n"
 msgstr "Nachricht von `%s' verworfen: ungültiges Format.\n"
 
-#: src/server/connection.c:2491
+#: src/server/connection.c:2607
 #, c-format
 msgid "Invalid sequence number %u <= %u, dropping message.\n"
 msgstr "Ungültige Sequenznummer %u <= %u, Nachricht wird verworfen.\n"
 
-#: src/server/connection.c:2508
+#: src/server/connection.c:2624
 msgid "Message received more than one day old. Dropped.\n"
 msgstr ""
 "Empfangene Nachricht ist mehr als ein Tag alt. Nachricht wird verworfen.\n"
 
-#: src/server/connection.c:2937
+#: src/server/connection.c:3063
 msgid "# outgoing messages dropped"
 msgstr "# ausgehender Nachrichten verworfen"
 
-#: src/server/connection.c:2941
+#: src/server/connection.c:3067
 msgid "# bytes of outgoing messages dropped"
 msgstr "# Bytes ausgehender Nachrichten verworfen"
 
-#: src/server/connection.c:2943
+#: src/server/connection.c:3069
 msgid "# connections closed (HANGUP sent)"
 msgstr "# geschlossener Verbindungen (HANGUP gesendet)"
 
-#: src/server/connection.c:2946
+#: src/server/connection.c:3072
 msgid "# bytes encrypted"
 msgstr "# Bytes verschlüsselt"
 
-#: src/server/connection.c:2950
+#: src/server/connection.c:3076
 #, fuzzy
 msgid "# bytes transmitted"
 msgstr "# Bytes des Typs %d übertragen"
 
-#: src/server/connection.c:2954
+#: src/server/connection.c:3080
 #, fuzzy
 msgid "# bytes received"
 msgstr "# Bytes empfangen über TCP"
 
-#: src/server/connection.c:2956
+#: src/server/connection.c:3083
 msgid "# bytes decrypted"
 msgstr "# Bytes entschlüsselt"
 
-#: src/server/connection.c:2957
+#: src/server/connection.c:3085
 msgid "# bytes noise sent"
 msgstr "# Bytes Rauschen gesendet"
 
+#: src/server/connection.c:3087
+msgid "# total advertised bytes per second received limit"
+msgstr ""
+
+#: src/server/connection.c:3089
+msgid "# total allowed bytes per second transmission limit"
+msgstr ""
+
 #: src/server/version.c:152
 msgid ""
 "Failed to determine filename used to store GNUnet version information!\n"
@@ -4147,6 +4154,83 @@
 msgid "specify host on which gnunetd is running"
 msgstr "Gibt an, auf welchem Host gnunetd läuft"
 
+#~ msgid ""
+#~ "Share denoted bandwidth with other applications?\n"
+#~ "\n"
+#~ "Say \"yes\" here, if you don't want other network traffic to interfere "
+#~ "with GNUnet's operation, but still wish to constrain GNUnet's bandwidth "
+#~ "usage to values entered in the previous steps, or if you can't reliably "
+#~ "measure the maximum capabilities of your connection. \"No\" can be very "
+#~ "useful if other applications are causing a lot of traffic on your LAN.  "
+#~ "In this case, you do not want to limit the traffic that GNUnet can "
+#~ "inflict on your internet connection whenever your high-speed LAN gets "
+#~ "used (e.g. by NFS)."
+#~ msgstr ""
+#~ "Angegebene Bandbreite mit anderen Anwendungen teilen?\n"
+#~ "\n"
+#~ "Sagen Sie hier \"Ja\", wenn Sie nicht möchten, dass anderer "
+#~ "Netzwerkverkehr GNUnets Funktion stört aber dennoch GNUnets Bandbreite "
+#~ "gemäß den Angaben in den vorherigen Schritten einschränken möchten oder "
+#~ "Sie die maximalen Möglichkeiten Ihrer Internetverbindung nicht "
+#~ "zuverlässig messen können. \"Nein\" kann nützlich sein, wenn andere "
+#~ "Anwendungen viel Netzwerkverkehr in Ihrem LAN verursachen. In diesem Fall "
+#~ "möchten Sie nicht GNUnets Netzwerkverkehr über die Internetverbindung "
+#~ "einschränken, wann immer Ihre Hochgeschwindigkeits-LAN-Verbindung "
+#~ "verwendet wird (z.B. durch NFS)."
+
+#~ msgid "How much CPU (in %) may be used?"
+#~ msgstr "Wieviel CPU (in %) darf verwendet werden?"
+
+#~ msgid ""
+#~ "You can limit GNUnet's resource usage here.\n"
+#~ "\n"
+#~ "This is the percentage of processor time GNUnet is allowed to use."
+#~ msgstr ""
+#~ "Hier können Sie GNUnets Ressourcenverwendung einschränken.\n"
+#~ "\n"
+#~ "Dies ist der Prozentsatz an Prozessorzeit, den GNUnet verwenden darf."
+
+#~ msgid ""
+#~ "Store migrated content?\n"
+#~ "\n"
+#~ "GNUnet is able to store data from other peers in your datastore. This is "
+#~ "useful if an adversary has access to your inserted content and you need "
+#~ "to deny that the content is yours. With \"content migration\" on, the "
+#~ "content could have \"migrated\" over the internet to your node without "
+#~ "your knowledge.\n"
+#~ "It also helps to spread popular content over different peers to enhance "
+#~ "availability."
+#~ msgstr ""
+#~ "Sollen migrierte Inhalte gespeichert werden?\n"
+#~ "GNUnet ist in der Lage, Daten von anderen Knoten in Ihrem Datenspeicher "
+#~ "zu speichern. Das ist nützlich, wenn ein Widersacher Zugriff auf Ihre "
+#~ "eingefügten Inhalte erlangt und Sie abstreiten müssen, dass diese Daten "
+#~ "Ihnen gehören. Ist die \"Inhaltsmigration\" angeschaltet, so können die "
+#~ "Inhalte über das Internet von einem anderen Knoten zu Ihrem Rechner ohne "
+#~ "Ihr Wissen \"gewandert\" sein.\n"
+#~ "Außerdem hilft es, beliebte Inhalte über verschiedene Netzteilnehmer zu "
+#~ "verteilen, um so die Verfügbarkeit zu erhöhen."
+
+#~ msgid ""
+#~ "If you are an experienced user, you may want to tweak your GNUnet "
+#~ "installation using the enhanced configurator.\n"
+#~ "\n"
+#~ "Do you want to start it after saving your configuration?"
+#~ msgstr ""
+#~ "Wenn Sie ein erfahrener Benutzer sind, so möchten Sie vielleicht Ihre "
+#~ "GNUnet Installation über den erweiterten Konfigurator optimieren.\n"
+#~ "\n"
+#~ "Möchten Sie ihn starten, nachdem Ihre Konfiguration gespeichert wurde?"
+
+#~ msgid ""
+#~ "Unable to save configuration file %s: %s.\n"
+#~ "\n"
+#~ "Try again?"
+#~ msgstr ""
+#~ "Konfigurationsdatei %s kann nicht gespeichert werden: %s.\n"
+#~ "\n"
+#~ "Soll es nochmals versucht werden?"
+
 #~ msgid "No help available."
 #~ msgstr "Keine Hilfe verfügbar."
 
@@ -4155,10 +4239,6 @@
 #~ msgstr "Maskierte Optionen anzeigen"
 
 #, fuzzy
-#~ msgid "Meta-configuration"
-#~ msgstr "GNUnet Konfiguration"
-
-#, fuzzy
 #~ msgid "Full pathname of GNUnet HOME directory"
 #~ msgstr "Dateiformat fehlerhaft (kein GNUnet Verzeichnis?)\n"
 
@@ -4203,10 +4283,6 @@
 #~ msgstr "_Optionen"
 
 #, fuzzy
-#~ msgid "Network interface"
-#~ msgstr "Netzwerkgerät:"
-
-#, fuzzy
 #~ msgid "Network interface to monitor"
 #~ msgstr "Netzwerkgerät:"
 
@@ -4864,9 +4940,6 @@
 #~ msgid "Load limitation"
 #~ msgstr "Lastbeschränkung"
 
-#~ msgid "Back"
-#~ msgstr "Zurück"
-
 #~ msgid ""
 #~ "GNUnet is able to store data from other peers in your datastore. This is "
 #~ "useful if an adversary has access to your inserted content and you need "
@@ -5139,9 +5212,6 @@
 #~ msgid "Invalid argument for `%s' at %s:%d.\n"
 #~ msgstr "Ungültiger Parameter für `%s' bei %s:%d.\n"
 
-#~ msgid "k"
-#~ msgstr "k"
-
 #~ msgid "g"
 #~ msgstr "g"
 

Modified: GNUnet/po/es.po
===================================================================
--- GNUnet/po/es.po     2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/po/es.po     2006-12-14 04:25:13 UTC (rev 3936)
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0e\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-12-04 19:14-0700\n"
+"POT-Creation-Date: 2006-12-11 21:40-0700\n"
 "PO-Revision-Date: 2006-06-29 12:05+0200\n"
 "Last-Translator: Miguel Angel Arruga <address@hidden>\n"
 "Language-Team: Spanish\n"
@@ -867,7 +867,7 @@
 msgstr ""
 "Bloque ODB '%s' desindexado del offset %llu perdido de la base de datos.\n"
 
-#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1832
+#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1846
 msgid "Failed to get traffic stats.\n"
 msgstr "Fallo en las estadísticas del tráfico.\n"
 
@@ -1356,119 +1356,119 @@
 msgid "Supported client-server messages:\n"
 msgstr "Mensajes cliente-servidor soportados:\n"
 
-#: src/applications/gap/pid_table.c:156
+#: src/applications/gap/pid_table.c:161
 msgid "# distinct interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:158
+#: src/applications/gap/pid_table.c:163
 msgid "# total RC of interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/gap.c:1645
+#: src/applications/gap/gap.c:1659
 #, c-format
 msgid "GAP received invalid content from `%s'\n"
 msgstr "GAP recibido contenido no válido de '%s'\n"
 
-#: src/applications/gap/gap.c:1646
+#: src/applications/gap/gap.c:1660
 msgid "myself"
 msgstr "yo"
 
-#: src/applications/gap/gap.c:1820
+#: src/applications/gap/gap.c:1834
 msgid ""
 "Cover traffic requested but traffic service not loaded.  Rejecting request.\n"
 msgstr ""
 "Solicitada la cobertura de tráfico pero el servicio de tráfico no ha sido "
 "cargado. Rechazando la petición.\n"
 
-#: src/applications/gap/gap.c:1839 src/applications/gap/gap.c:1845
-#: src/applications/gap/gap.c:1852
+#: src/applications/gap/gap.c:1853 src/applications/gap/gap.c:1859
+#: src/applications/gap/gap.c:1866
 msgid "Cannot satisfy desired level of anonymity, ignoring request.\n"
 msgstr ""
 "Imposible satisfacer el nivel deseado de anonimato, ignorando la petición.\n"
 
-#: src/applications/gap/gap.c:2135
+#: src/applications/gap/gap.c:2149
 msgid "# gap requests total received"
 msgstr ""
 
-#: src/applications/gap/gap.c:2136
+#: src/applications/gap/gap.c:2150
 msgid "# gap requests policy: immediate drop"
 msgstr ""
 
-#: src/applications/gap/gap.c:2137
+#: src/applications/gap/gap.c:2151
 msgid "# gap requests policy: not routed"
 msgstr ""
 
-#: src/applications/gap/gap.c:2138
+#: src/applications/gap/gap.c:2152
 msgid "# gap requests policy: not answered"
 msgstr ""
 
-#: src/applications/gap/gap.c:2139
+#: src/applications/gap/gap.c:2153
 msgid "# gap requests processed: attempted add to RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2140
+#: src/applications/gap/gap.c:2154
 msgid "# gap requests processed: local result"
 msgstr ""
 
-#: src/applications/gap/gap.c:2141
+#: src/applications/gap/gap.c:2155
 msgid "# gap routing successes (total)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2142
+#: src/applications/gap/gap.c:2156
 msgid "# gap requests dropped: collision in RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2143
+#: src/applications/gap/gap.c:2157
 msgid "# gap requests forwarded (counting each peer)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2144
+#: src/applications/gap/gap.c:2158
 msgid "# gap duplicate requests (pending)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2145
+#: src/applications/gap/gap.c:2159
 msgid "# gap duplicate requests that were re-tried"
 msgstr ""
 
-#: src/applications/gap/gap.c:2146
+#: src/applications/gap/gap.c:2160
 msgid "# gap re-try ttl difference (cummulative)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2147
+#: src/applications/gap/gap.c:2161
 msgid "# gap reply duplicates"
 msgstr ""
 
-#: src/applications/gap/gap.c:2148
+#: src/applications/gap/gap.c:2162
 msgid "# gap spurious replies"
 msgstr ""
 
-#: src/applications/gap/gap.c:2149
+#: src/applications/gap/gap.c:2163
 msgid "# gap routing slots currently in use"
 msgstr ""
 
-#: src/applications/gap/gap.c:2150
+#: src/applications/gap/gap.c:2164
 msgid "# gap memory used for tracking seen content"
 msgstr ""
 
-#: src/applications/gap/gap.c:2151
+#: src/applications/gap/gap.c:2165
 msgid "# gap memory used for tracking routing destinations"
 msgstr ""
 
-#: src/applications/gap/gap.c:2152
+#: src/applications/gap/gap.c:2166
 msgid "# gap rewards pending"
 msgstr ""
 
-#: src/applications/gap/gap.c:2153
+#: src/applications/gap/gap.c:2167
 msgid "# gap response weights"
 msgstr ""
 
-#: src/applications/gap/gap.c:2169
+#: src/applications/gap/gap.c:2183
 msgid ""
 "Traffic service failed to load; gap cannot ensure cover-traffic "
 "availability.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2197
+#: src/applications/gap/gap.c:2211
 #, c-format
 msgid "`%s' registering handlers %d %d\n"
 msgstr "'%s' registrando manejadores %d %d\n"
@@ -2289,11 +2289,11 @@
 msgid "Cannot store client info\n"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:105
 msgid "Yes"
 msgstr "Sí"
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:104
 msgid "No"
 msgstr "No"
 
@@ -2381,12 +2381,12 @@
 msgid "Can't create semaphore: %i"
 msgstr "Imposible crear un semáforo: %i"
 
-#: src/util/os/statuscalls.c:176 src/util/os/statuscalls.c:254
+#: src/util/os/statuscalls.c:179 src/util/os/statuscalls.c:257
 #, fuzzy, c-format
 msgid "Failed to parse interface data from `%s'.\n"
 msgstr "Falló al pasar los datos de la interfaz de '%s' de %s:%d.\n"
 
-#: src/util/os/statuscalls.c:296 src/util/os/statuscalls.c:305
+#: src/util/os/statuscalls.c:299 src/util/os/statuscalls.c:308
 #, c-format
 msgid ""
 "No network interfaces defined in configuration section `%s' under `%s'!\n"
@@ -2798,7 +2798,8 @@
 msgstr ""
 
 #: src/setup/ncurses/mconf.c:161 src/setup/ncurses/mconf.c:265
-#: src/setup/ncurses/mconf.c:370
+#: src/setup/ncurses/mconf.c:370 src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:191 src/setup/ncurses/wizard_curs.c:307
 msgid "Internal error! (Choice invalid?)"
 msgstr ""
 
@@ -2818,7 +2819,7 @@
 msgid "Value is not in legal range."
 msgstr ""
 
-#: src/setup/ncurses/mconf.c:413
+#: src/setup/ncurses/mconf.c:413 src/setup/ncurses/wizard_curs.c:562
 #, fuzzy
 msgid "GNUnet Configuration"
 msgstr "Configuración de GNUnet"
@@ -2848,23 +2849,36 @@
 "Your configuration changes were NOT saved.\n"
 msgstr "Fichero de configuración '%s' creado.\n"
 
-#: src/setup/ncurses/wizard_curs.c:56 src/setup/lib/wizard_util.c:131
+#: src/setup/ncurses/wizard_curs.c:67 src/setup/lib/wizard_util.c:131
 #: src/setup/lib/wizard_util.c:176
 msgid "Error"
 msgstr "Error"
 
-#: src/setup/ncurses/wizard_curs.c:120 src/setup/ncurses/wizard_curs.c:135
-#: src/setup/ncurses/wizard_curs.c:188 src/setup/ncurses/wizard_curs.c:225
-#: src/setup/ncurses/wizard_curs.c:255 src/setup/ncurses/wizard_curs.c:281
-#: src/setup/ncurses/wizard_curs.c:314 src/setup/ncurses/wizard_curs.c:341
-#: src/setup/ncurses/wizard_curs.c:373 src/setup/ncurses/wizard_curs.c:398
-#: src/setup/ncurses/wizard_curs.c:427 src/setup/ncurses/wizard_curs.c:450
-#: src/setup/ncurses/wizard_curs.c:505 src/setup/ncurses/wizard_curs.c:567
-#: src/setup/ncurses/wizard_curs.c:598 src/setup/ncurses/wizard_curs.c:642
+#: src/setup/ncurses/wizard_curs.c:77 src/setup/gtk/gconf.c:417
+msgid "Help"
+msgstr "Ayuda"
+
+#: src/setup/ncurses/wizard_curs.c:86
+#, fuzzy
+msgid "Error!"
+msgstr "Error"
+
+#: src/setup/ncurses/wizard_curs.c:153
+#, fuzzy
+msgid "Abort"
+msgstr "_Acerca de"
+
+#: src/setup/ncurses/wizard_curs.c:154
+#, fuzzy
+msgid "Ok"
+msgstr "k"
+
+#: src/setup/ncurses/wizard_curs.c:222 src/setup/ncurses/wizard_curs.c:290
+#: src/setup/ncurses/wizard_curs.c:443
 msgid "GNUnet configuration"
 msgstr "Configuración de GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:223
 msgid ""
 "Welcome to GNUnet!\n"
 "\n"
@@ -2894,7 +2908,7 @@
 "\n"
 "el equipo de GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:136
+#: src/setup/ncurses/wizard_curs.c:291
 msgid ""
 "Choose the network interface that connects your computer to the internet "
 "from the list below."
@@ -2902,14 +2916,7 @@
 "Escoge la interfaz de red que conecta tu ordenador a Internet de la lista de "
 "abajo."
 
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:195
-#: src/setup/ncurses/wizard_curs.c:232 src/setup/ncurses/wizard_curs.c:287
-#: src/setup/ncurses/wizard_curs.c:319 src/setup/ncurses/wizard_curs.c:379
-#: src/setup/gtk/gconf.c:417
-msgid "Help"
-msgstr "Ayuda"
-
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:196
+#: src/setup/ncurses/wizard_curs.c:312 src/setup/ncurses/wizard_curs.c:325
 msgid ""
 "The \"Network interface\" is the device that connects your computer to the "
 "internet. This is usually a modem, an ISDN card or a network card in case "
@@ -2919,33 +2926,66 @@
 "Internet. Normalmente es un módem, una tarjeta de RDSI o una tarjeta de red "
 "en el caso de los xDSL como el ADSL."
 
-#: src/setup/ncurses/wizard_curs.c:189
+#: src/setup/ncurses/wizard_curs.c:323
+#, fuzzy
+msgid "Network configuration: interface"
+msgstr "Interfaz de red:"
+
+#: src/setup/ncurses/wizard_curs.c:324
 msgid ""
 "What is the name of the network interface that connects your computer to the "
 "Internet?"
 msgstr ""
 "¿Cuál es el nombre de la interfaz de red que conecta tu ordenador a Internet?"
 
-#: src/setup/ncurses/wizard_curs.c:226
+#: src/setup/ncurses/wizard_curs.c:335
+#, fuzzy
+msgid "Network configuration: NAT"
+msgstr "Configuración de GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:336
 msgid ""
-"What is this computer's public IP address or hostname?\n"
+"Is this machine behind NAT?\n"
 "\n"
-"If in doubt, leave this empty."
+"If you are connected to the internet through another computer doing SNAT, a "
+"router or a \"hardware firewall\" and other computers on the internet cannot "
+"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
+"connections through modems, ISDN cards and DNAT (also known as \"port "
+"forwarding\")."
 msgstr ""
+"¿Tu máquina esta detrás de un NAT?\n"
+"\n"
+"Si tu estás conectado a Internet a través de otro ordenador haciendo SNAT, "
+"un router o un \"cortafuegos de hardware\" y otros ordenadores no pueden "
+"conectarse al tuyo a través de Internet directamente, responde \"si\" aquí. "
+"Responde \"no\" en conexiones directas a través de módems, tarjetas de RDSI "
+"y DNAT (también conocido como \"seguimiento de puertos\")."
+
+#: src/setup/ncurses/wizard_curs.c:349
+#, fuzzy
+msgid "Network configuration: IP"
+msgstr "Configuración de GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:350
+#, fuzzy
+msgid "What is this computer's public IP address or hostname?"
+msgstr ""
 "¿Cuál es es la dirección pública IP o el nombre del dominio de éste "
 "ordenador?\n"
 "\n"
 "En caso de duda, dejar este campo en blanco."
 
-#: src/setup/ncurses/wizard_curs.c:233
+#: src/setup/ncurses/wizard_curs.c:351
+#, fuzzy
 msgid ""
 "If your provider always assigns the same IP-Address to you (a \"static\" IP-"
 "Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
 "every now and then (\"dynamic\" IP-Address) but there's a hostname that "
 "always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
 "enter it here.\n"
-"If in doubt, leave the field empty. GNUnet will then try to determine your "
-"IP-Address."
+"If left empty, GNUnet will try to automatically detect the IP.\n"
+"You can specify a hostname, GNUnet will then use DNS to resolve it.\n"
+"If in doubt, leave this empty."
 msgstr ""
 "Si tu proveedor siempre te asigna la misma dirección IP (una IP \"estática"
 "\") introducela en el campo \"Dirección IP\". Si tu dirección IP cambia pero "
@@ -2954,37 +2994,26 @@
 "En caso de duda deja el campo en blanco. GNUnet intentará determinar tu "
 "dirección IP"
 
-#: src/setup/ncurses/wizard_curs.c:256
-msgid ""
-"Is this machine behind NAT?\n"
-"\n"
-"If you are connected to the internet through another computer doing SNAT, a "
-"router or a \"hardware firewall\" and other computers on the internet cannot "
-"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
-"connections through modems, ISDN cards and DNAT (also known as \"port "
-"forwarding\")."
-msgstr ""
-"¿Tu máquina esta detrás de un NAT?\n"
-"\n"
-"Si tu estás conectado a Internet a través de otro ordenador haciendo SNAT, "
-"un router o un \"cortafuegos de hardware\" y otros ordenadores no pueden "
-"conectarse al tuyo a través de Internet directamente, responde \"si\" aquí. "
-"Responde \"no\" en conexiones directas a través de módems, tarjetas de RDSI "
-"y DNAT (también conocido como \"seguimiento de puertos\")."
+#: src/setup/ncurses/wizard_curs.c:366
+#, fuzzy
+msgid "Bandwidth configuration: upload"
+msgstr "Configuración de GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:282
-msgid "How much upstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:367
+#, fuzzy
+msgid "How much upstream bandwidth (in bytes/s) may be used?"
 msgstr "¿Cuánta subida (Bytes/s) será usada por GNUnet?"
 
-#: src/setup/ncurses/wizard_curs.c:287
+#: src/setup/ncurses/wizard_curs.c:368
+#, fuzzy
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"upstream\" is the data channel through which data is *sent* to the "
-"internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate, you can set it to the maximum speed of your internet "
-"connection."
+"internet. The limit is the maximum amountwhich GNUnet is allowed to use. If "
+"you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 "Puedes limitar el uso de recursos de GNUnet aquí.\n"
 "\n"
@@ -2994,19 +3023,26 @@
 "este valor más tarde. Si tienes una tarifa plana puedes configurarlo a la "
 "máxima velocidad de tu conexión a Internet."
 
-#: src/setup/ncurses/wizard_curs.c:314
-msgid "How much downstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:380
+#, fuzzy
+msgid "Bandwidth configuration: download"
+msgstr "Configuración de GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:381
+#, fuzzy
+msgid "How much downstream bandwidth (in bytes/s) may be used?"
 msgstr "¿Cuánta bajada (Bytes/s) será usada por GNUnet?"
 
-#: src/setup/ncurses/wizard_curs.c:320
+#: src/setup/ncurses/wizard_curs.c:382
+#, fuzzy
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"downstream\" is the data channel through which data is *received* from "
-"the internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate you can set it to the maximum speed of your internet "
-"connection."
+"the internet. The limit is the maximum amountwhich GNUnet is allowed to use. "
+"If you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 "Puedes limitar el uso de recursos de GNUnet aquí.\n"
 "\n"
@@ -3016,94 +3052,38 @@
 "este valor más tarde. Si tienes una tarifa plana puedes configurarlo a la "
 "máxima velocidad de tu conexión a Internet."
 
-#: src/setup/ncurses/wizard_curs.c:342
-msgid ""
-"Share denoted bandwidth with other applications?\n"
-"\n"
-"Say \"yes\" here, if you don't want other network traffic to interfere with "
-"GNUnet's operation, but still wish to constrain GNUnet's bandwidth usage to "
-"values entered in the previous steps, or if you can't reliably measure the "
-"maximum capabilities of your connection. \"No\" can be very useful if other "
-"applications are causing a lot of traffic on your LAN.  In this case, you do "
-"not want to limit the traffic that GNUnet can inflict on your internet "
-"connection whenever your high-speed LAN gets used (e.g. by NFS)."
-msgstr ""
-"¿Compartir el ancho de banda marcado con otras aplicaciones?\n"
-"\n"
-"Di \"sí\" aquí si no quieres que el resto del tráfico de la red no "
-"interfiera con las operaciones de GNUnet, pero aun quieres mantener el ancho "
-"de banda usado por GNUnet introducido en los pasos previos, o no puedes "
-"asegurar las máximas capacidades de tu conexión. \"No\" puede ser muy útil "
-"si otras aplicaciones crean mucho tráfico en tu LAN.  En ese caso no quieres "
-"limitar el tráfico que GNUnet puede crear en tu conexión a Internet cuando "
-"una LAN de alta velocidad es usada (por ejemplo bajo NFS)."
+#: src/setup/ncurses/wizard_curs.c:394
+#, fuzzy
+msgid "Quota configuration"
+msgstr "Configuración de GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:374
-msgid "How much CPU (in %) may be used?"
-msgstr "¿Cuánta CPU (en %) podrá ser usada?"
-
-#: src/setup/ncurses/wizard_curs.c:380
-msgid ""
-"You can limit GNUnet's resource usage here.\n"
-"\n"
-"This is the percentage of processor time GNUnet is allowed to use."
+#: src/setup/ncurses/wizard_curs.c:395
+msgid "What is the maximum size of the datastore in MB?"
 msgstr ""
-"Tu puedes limitar el uso de recursos de GNUnet aquí.\n"
-"\n"
-"Este es el porcentaje del tiempo del procesador que GNUnet puede usar."
 
-#: src/setup/ncurses/wizard_curs.c:399
+#: src/setup/ncurses/wizard_curs.c:396
+#, fuzzy
 msgid ""
-"Store migrated content?\n"
-"\n"
-"GNUnet is able to store data from other peers in your datastore. This is "
-"useful if an adversary has access to your inserted content and you need to "
-"deny that the content is yours. With \"content migration\" on, the content "
-"could have \"migrated\" over the internet to your node without your "
-"knowledge.\n"
-"It also helps to spread popular content over different peers to enhance "
-"availability."
+"The GNUnet datastore contains all content that GNUnet needs to store "
+"(indexed, inserted and migrated content)."
 msgstr ""
-"¿Almacena el contenido migrado?\n"
-"\n"
-"GNUnet puede almacenar datos de otros pares en tu ordenador. Esto es muy "
-"útil si un adversario accede a tu contenido insertado y necesitas negar que "
-"dicho contenido sea tuyo. Con la \"migración de contenidos\" activada, el "
-"contenido puede haber \"migrado\" a través de internet a tu nodo sin tu "
-"conocimiento.\n"
-"Ésto también ayuda a repartir contenido popular a través de diferentes pares "
-"para aumentar la disponibilidad."
-
-#: src/setup/ncurses/wizard_curs.c:428
-msgid ""
-"What's the maximum datastore size in MB?\n"
-"\n"
-"The GNUnet datastore contains all data that GNUnet generates (index data, "
-"inserted and migrated content)."
-msgstr ""
 "¿Cuál es el tamaño máximo de almacenamiento en MB?\n"
 "\n"
 "El almacenamiento de GNUnet contiene todos los datos que GNUnet genera "
 "(datos del índice, contenido insertado y migrado)."
 
-#: src/setup/ncurses/wizard_curs.c:451
-msgid ""
-"Do you want to launch GNUnet as a system service?\n"
-"\n"
-"If you say \"yes\" here, the GNUnet background process will be automatically "
-"started when you turn on your computer. If you say \"no\" here, you have to "
-"launch GNUnet yourself each time you want to use it."
+#: src/setup/ncurses/wizard_curs.c:409
+#, fuzzy
+msgid "Daemon configuration: user account"
+msgstr "Imposible crear la cuenta de usuario:"
+
+#: src/setup/ncurses/wizard_curs.c:410
+msgid "As which user should gnunetd be run?"
 msgstr ""
-"¿Quieres arrancar GNUnet como un servicio de sistema?\n"
-"n\n"
-"Si dices \"sí\" aquí, el proceso en segundo plano de GNUnet sera "
-"automáticamente arrancado cuando enciendas tu ordenador. Si dices \"no\" "
-"aquí, tendrás que ejecutar GNUnet tu mismo cada vez que quieras usarlo."
 
-#: src/setup/ncurses/wizard_curs.c:506
+#: src/setup/ncurses/wizard_curs.c:411
+#, fuzzy
 msgid ""
-"Define the user owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new user "
 "account under which the GNUnet service is started at system startup.\n"
 "\n"
@@ -3111,9 +3091,7 @@
 "includes files you want to publish in GNUnet. You'll have to grant read "
 "permissions to the user specified below.\n"
 "\n"
-"Leave the fields empty to run GNUnet with system privileges.\n"
-"\n"
-"GNUnet user:"
+"Leave the field empty to run GNUnet with system privileges.\n"
 msgstr ""
 "Define el usuario bajo el que correrán los servicios de GNUnet.\n"
 "\n"
@@ -3129,10 +3107,17 @@
 "Deja los campos vacíos para arrancar GNUnet con privilegios de sistema.\n"
 "Usuario de GNUnet:"
 
-#: src/setup/ncurses/wizard_curs.c:568
+#: src/setup/ncurses/wizard_curs.c:429
+msgid "Daemon configuration: group account"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:430
+msgid "As which group should gnunetd be run?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:431
+#, fuzzy
 msgid ""
-"Define the group owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new group "
 "for the chosen user account.\n"
 "\n"
@@ -3140,8 +3125,6 @@
 "\n"
 "Only members of this group will be allowed to start and stop the the GNUnet "
 "server and have access to GNUnet server data.\n"
-"\n"
-"GNUnet group:"
 msgstr ""
 "Define el grupo bajo el que correrán los servicios de GNUnet aquí.\n"
 "\n"
@@ -3155,53 +3138,70 @@
 "\n"
 "Grupo de GNUnet:"
 
-#: src/setup/ncurses/wizard_curs.c:599
+#: src/setup/ncurses/wizard_curs.c:444
+msgid "Do you want to automatically launch GNUnet as a system service?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:445
+#, fuzzy
 msgid ""
-"If you are an experienced user, you may want to tweak your GNUnet "
-"installation using the enhanced configurator.\n"
-"\n"
-"Do you want to start it after saving your configuration?"
+"If you say \"yes\" here, the GNUnet background process will be automatically "
+"started when you turn on your computer. If you say \"no\" here, you have to "
+"launch GNUnet yourself each time you want to use it."
 msgstr ""
-"Si eres un usuario experimentado, puedes desear exprimir tu instalación de "
-"GNUnet usando la herramienta de configuración avanzada.\n"
-"\n"
-"¿Quieres arrancarla después de guardar tu configuración?"
+"¿Quieres arrancar GNUnet como un servicio de sistema?\n"
+"n\n"
+"Si dices \"sí\" aquí, el proceso en segundo plano de GNUnet sera "
+"automáticamente arrancado cuando enciendas tu ordenador. Si dices \"no\" "
+"aquí, tendrás que ejecutar GNUnet tu mismo cada vez que quieras usarlo."
 
-#: src/setup/ncurses/wizard_curs.c:620 src/setup/gtk/wizard_gtk.c:473
-msgid "Unable to create user account:"
+#: src/setup/ncurses/wizard_curs.c:466 src/setup/gtk/wizard_gtk.c:428
+#, c-format
+msgid "Unable to save configuration file `%s':"
+msgstr "Imposible guardar el fichero de configuración '%s':"
+
+#: src/setup/ncurses/wizard_curs.c:493
+#, fuzzy
+msgid "Unable to create user account for daemon."
 msgstr "Imposible crear la cuenta de usuario:"
 
-#: src/setup/ncurses/wizard_curs.c:623 src/setup/gtk/wizard_gtk.c:480
-msgid "Unable to change startup process:"
-msgstr "Imposible cambiar el proceso de arranque:"
-
-#: src/setup/ncurses/wizard_curs.c:636
-#, c-format
-msgid ""
-"Unable to save configuration file %s: %s.\n"
-"\n"
-"Try again?"
+#: src/setup/ncurses/wizard_curs.c:507
+msgid "Unable to setup autostart for daemon."
 msgstr ""
-"Imposible guardar el fichero de configuración %s: %s.\n"
-"\n"
-"¿Intentar de nuevo?"
 
+#: src/setup/ncurses/wizard_curs.c:521
+#, fuzzy
+msgid "Save configuration?"
+msgstr "Configuración de GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:522
+#, fuzzy
+msgid "Save configuration now?"
+msgstr "Configuración de GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:566
+msgid "Back"
+msgstr "Atrás"
+
 #: src/setup/gtk/wizard_gtk.c:145
 #, fuzzy
 msgid "(unknown connection)"
 msgstr "Conexión de red"
 
-#: src/setup/gtk/wizard_gtk.c:422
-#, c-format
-msgid "Unable to save configuration file `%s':"
-msgstr "Imposible guardar el fichero de configuración '%s':"
-
-#: src/setup/gtk/wizard_gtk.c:444
+#: src/setup/gtk/wizard_gtk.c:450
 #, fuzzy
 msgid "Do you want to save the new configuration?"
 msgstr "¿Quieres guardar tu configuración?"
 
-#: src/setup/gtk/wizard_gtk.c:496
+#: src/setup/gtk/wizard_gtk.c:480
+msgid "Unable to create user account:"
+msgstr "Imposible crear la cuenta de usuario:"
+
+#: src/setup/gtk/wizard_gtk.c:490
+msgid "Unable to change startup process:"
+msgstr "Imposible cambiar el proceso de arranque:"
+
+#: src/setup/gtk/wizard_gtk.c:505
 msgid ""
 "Running gnunet-update failed.\n"
 "This maybe due to insufficient permissions, please check your "
@@ -3586,17 +3586,17 @@
 msgid "MTU for `%s' is probably too low (fragmentation not implemented!)\n"
 msgstr ""
 
-#: src/transports/tcp_old.c:1256
+#: src/transports/tcp_old.c:1258
 #, fuzzy
 msgid "# bytes received via TCP-OLD"
 msgstr "# bytes recibidos por TCP"
 
-#: src/transports/tcp_old.c:1258
+#: src/transports/tcp_old.c:1260
 #, fuzzy
 msgid "# bytes sent via TCP-OLD"
 msgstr "# bytes enviados por TCP"
 
-#: src/transports/tcp_old.c:1260
+#: src/transports/tcp_old.c:1262
 #, fuzzy
 msgid "# bytes dropped by TCP-OLD (outgoing)"
 msgstr "# bytes omitidos por TCP (salientes)"
@@ -3724,64 +3724,72 @@
 msgid "%s failed, message type %d already in use.\n"
 msgstr "%s falló, el mensaje del tipo %d ya está en uso.\n"
 
-#: src/server/connection.c:1024
+#: src/server/connection.c:1114
 #, c-format
 msgid "`%s' selected %d out of %d messages (MTU: %d).\n"
 msgstr ""
 
-#: src/server/connection.c:1033
+#: src/server/connection.c:1123
 #, c-format
 msgid "Message details: %u: length %d, priority: %d\n"
 msgstr "Detalles del mensaje: %u: longitud %d, prioridad: %d\n"
 
-#: src/server/connection.c:2419
+#: src/server/connection.c:2529
 #, c-format
 msgid "Message from `%s' discarded: invalid format.\n"
 msgstr "Mensaje de '%s' descartado: formato inválido.\n"
 
-#: src/server/connection.c:2491
+#: src/server/connection.c:2607
 #, c-format
 msgid "Invalid sequence number %u <= %u, dropping message.\n"
 msgstr "Secuencia de números no válida %u <= %u, omitiendo mensaje.\n"
 
-#: src/server/connection.c:2508
+#: src/server/connection.c:2624
 msgid "Message received more than one day old. Dropped.\n"
 msgstr "Mensajes recibidos de mas de un día de antigüedad. Omitidos.\n"
 
-#: src/server/connection.c:2937
+#: src/server/connection.c:3063
 msgid "# outgoing messages dropped"
 msgstr "# mensajes salientes omitidos"
 
-#: src/server/connection.c:2941
+#: src/server/connection.c:3067
 msgid "# bytes of outgoing messages dropped"
 msgstr "# bytes de mensajes salientes omitidos"
 
-#: src/server/connection.c:2943
+#: src/server/connection.c:3069
 msgid "# connections closed (HANGUP sent)"
 msgstr ""
 
-#: src/server/connection.c:2946
+#: src/server/connection.c:3072
 msgid "# bytes encrypted"
 msgstr "# bytes encriptados"
 
-#: src/server/connection.c:2950
+#: src/server/connection.c:3076
 #, fuzzy
 msgid "# bytes transmitted"
 msgstr "# bytes desencriptados"
 
-#: src/server/connection.c:2954
+#: src/server/connection.c:3080
 #, fuzzy
 msgid "# bytes received"
 msgstr "# bytes recibidos por TCP"
 
-#: src/server/connection.c:2956
+#: src/server/connection.c:3083
 msgid "# bytes decrypted"
 msgstr "# bytes desencriptados"
 
-#: src/server/connection.c:2957
+#: src/server/connection.c:3085
 msgid "# bytes noise sent"
 msgstr "# \"bytes-ruido\" mandados"
 
+#: src/server/connection.c:3087
+msgid "# total advertised bytes per second received limit"
+msgstr ""
+
+#: src/server/connection.c:3089
+msgid "# total allowed bytes per second transmission limit"
+msgstr ""
+
 #: src/server/version.c:152
 msgid ""
 "Failed to determine filename used to store GNUnet version information!\n"
@@ -4067,6 +4075,82 @@
 msgid "specify host on which gnunetd is running"
 msgstr "especifica el host en el que gnunetd esta ejecutandose"
 
+#~ msgid ""
+#~ "Share denoted bandwidth with other applications?\n"
+#~ "\n"
+#~ "Say \"yes\" here, if you don't want other network traffic to interfere "
+#~ "with GNUnet's operation, but still wish to constrain GNUnet's bandwidth "
+#~ "usage to values entered in the previous steps, or if you can't reliably "
+#~ "measure the maximum capabilities of your connection. \"No\" can be very "
+#~ "useful if other applications are causing a lot of traffic on your LAN.  "
+#~ "In this case, you do not want to limit the traffic that GNUnet can "
+#~ "inflict on your internet connection whenever your high-speed LAN gets "
+#~ "used (e.g. by NFS)."
+#~ msgstr ""
+#~ "¿Compartir el ancho de banda marcado con otras aplicaciones?\n"
+#~ "\n"
+#~ "Di \"sí\" aquí si no quieres que el resto del tráfico de la red no "
+#~ "interfiera con las operaciones de GNUnet, pero aun quieres mantener el "
+#~ "ancho de banda usado por GNUnet introducido en los pasos previos, o no "
+#~ "puedes asegurar las máximas capacidades de tu conexión. \"No\" puede ser "
+#~ "muy útil si otras aplicaciones crean mucho tráfico en tu LAN.  En ese "
+#~ "caso no quieres limitar el tráfico que GNUnet puede crear en tu conexión "
+#~ "a Internet cuando una LAN de alta velocidad es usada (por ejemplo bajo "
+#~ "NFS)."
+
+#~ msgid "How much CPU (in %) may be used?"
+#~ msgstr "¿Cuánta CPU (en %) podrá ser usada?"
+
+#~ msgid ""
+#~ "You can limit GNUnet's resource usage here.\n"
+#~ "\n"
+#~ "This is the percentage of processor time GNUnet is allowed to use."
+#~ msgstr ""
+#~ "Tu puedes limitar el uso de recursos de GNUnet aquí.\n"
+#~ "\n"
+#~ "Este es el porcentaje del tiempo del procesador que GNUnet puede usar."
+
+#~ msgid ""
+#~ "Store migrated content?\n"
+#~ "\n"
+#~ "GNUnet is able to store data from other peers in your datastore. This is "
+#~ "useful if an adversary has access to your inserted content and you need "
+#~ "to deny that the content is yours. With \"content migration\" on, the "
+#~ "content could have \"migrated\" over the internet to your node without "
+#~ "your knowledge.\n"
+#~ "It also helps to spread popular content over different peers to enhance "
+#~ "availability."
+#~ msgstr ""
+#~ "¿Almacena el contenido migrado?\n"
+#~ "\n"
+#~ "GNUnet puede almacenar datos de otros pares en tu ordenador. Esto es muy "
+#~ "útil si un adversario accede a tu contenido insertado y necesitas negar "
+#~ "que dicho contenido sea tuyo. Con la \"migración de contenidos\" "
+#~ "activada, el contenido puede haber \"migrado\" a través de internet a tu "
+#~ "nodo sin tu conocimiento.\n"
+#~ "Ésto también ayuda a repartir contenido popular a través de diferentes "
+#~ "pares para aumentar la disponibilidad."
+
+#~ msgid ""
+#~ "If you are an experienced user, you may want to tweak your GNUnet "
+#~ "installation using the enhanced configurator.\n"
+#~ "\n"
+#~ "Do you want to start it after saving your configuration?"
+#~ msgstr ""
+#~ "Si eres un usuario experimentado, puedes desear exprimir tu instalación "
+#~ "de GNUnet usando la herramienta de configuración avanzada.\n"
+#~ "\n"
+#~ "¿Quieres arrancarla después de guardar tu configuración?"
+
+#~ msgid ""
+#~ "Unable to save configuration file %s: %s.\n"
+#~ "\n"
+#~ "Try again?"
+#~ msgstr ""
+#~ "Imposible guardar el fichero de configuración %s: %s.\n"
+#~ "\n"
+#~ "¿Intentar de nuevo?"
+
 #, fuzzy
 #~ msgid "No help available."
 #~ msgstr "'%s' no esta disponible."
@@ -4076,10 +4160,6 @@
 #~ msgstr "Mostrar todas las opciones"
 
 #, fuzzy
-#~ msgid "Meta-configuration"
-#~ msgstr "Configuración de GNUnet"
-
-#, fuzzy
 #~ msgid "Full pathname of GNUnet HOME directory"
 #~ msgstr "Error en el formato del fichero (¿no es un directorio de GNUnet?)\n"
 
@@ -4124,10 +4204,6 @@
 #~ msgstr "_Opciones"
 
 #, fuzzy
-#~ msgid "Network interface"
-#~ msgstr "Interfaz de red:"
-
-#, fuzzy
 #~ msgid "Network interface to monitor"
 #~ msgstr "Interfaz de red:"
 
@@ -4656,9 +4732,6 @@
 #~ msgid "Load limitation"
 #~ msgstr "Limitación de carga"
 
-#~ msgid "Back"
-#~ msgstr "Atrás"
-
 #~ msgid ""
 #~ "GNUnet is able to store data from other peers in your datastore. This is "
 #~ "useful if an adversary has access to your inserted content and you need "
@@ -4982,9 +5055,6 @@
 #~ msgid "Invalid argument for `%s' at %s:%d.\n"
 #~ msgstr "Argumento no válido para '%s' en %s:%d.\n"
 
-#~ msgid "k"
-#~ msgstr "k"
-
 #~ msgid "g"
 #~ msgstr "g"
 

Modified: GNUnet/po/rw.po
===================================================================
--- GNUnet/po/rw.po     2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/po/rw.po     2006-12-14 04:25:13 UTC (rev 3936)
@@ -16,7 +16,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0pre0\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-12-04 19:14-0700\n"
+"POT-Creation-Date: 2006-12-11 21:40-0700\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <address@hidden>\n"
 "Language-Team: Kinyarwanda <address@hidden>\n"
@@ -878,7 +878,7 @@
 "Unindexed ODB block `%s' from offset %llu already missing from datastore.\n"
 msgstr ""
 
-#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1832
+#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1846
 #, fuzzy
 msgid "Failed to get traffic stats.\n"
 msgstr "Kuri Ikibazo# Ibyerekeye"
@@ -1413,120 +1413,120 @@
 msgid "Supported client-server messages:\n"
 msgstr "Umukiriya Seriveri Ubutumwa"
 
-#: src/applications/gap/pid_table.c:156
+#: src/applications/gap/pid_table.c:161
 msgid "# distinct interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:158
+#: src/applications/gap/pid_table.c:163
 msgid "# total RC of interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/gap.c:1645
+#: src/applications/gap/gap.c:1659
 #, fuzzy, c-format
 msgid "GAP received invalid content from `%s'\n"
 msgstr "Sibyo Ubutumwa Bivuye"
 
-#: src/applications/gap/gap.c:1646
+#: src/applications/gap/gap.c:1660
 msgid "myself"
 msgstr ""
 
-#: src/applications/gap/gap.c:1820
+#: src/applications/gap/gap.c:1834
 msgid ""
 "Cover traffic requested but traffic service not loaded.  Rejecting request.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:1839 src/applications/gap/gap.c:1845
-#: src/applications/gap/gap.c:1852
+#: src/applications/gap/gap.c:1853 src/applications/gap/gap.c:1859
+#: src/applications/gap/gap.c:1866
 msgid "Cannot satisfy desired level of anonymity, ignoring request.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2135
+#: src/applications/gap/gap.c:2149
 #, fuzzy
 msgid "# gap requests total received"
 msgstr "#BYAKIRIWE"
 
-#: src/applications/gap/gap.c:2136
+#: src/applications/gap/gap.c:2150
 msgid "# gap requests policy: immediate drop"
 msgstr ""
 
-#: src/applications/gap/gap.c:2137
+#: src/applications/gap/gap.c:2151
 msgid "# gap requests policy: not routed"
 msgstr ""
 
-#: src/applications/gap/gap.c:2138
+#: src/applications/gap/gap.c:2152
 msgid "# gap requests policy: not answered"
 msgstr ""
 
-#: src/applications/gap/gap.c:2139
+#: src/applications/gap/gap.c:2153
 msgid "# gap requests processed: attempted add to RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2140
+#: src/applications/gap/gap.c:2154
 msgid "# gap requests processed: local result"
 msgstr ""
 
-#: src/applications/gap/gap.c:2141
+#: src/applications/gap/gap.c:2155
 msgid "# gap routing successes (total)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2142
+#: src/applications/gap/gap.c:2156
 msgid "# gap requests dropped: collision in RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2143
+#: src/applications/gap/gap.c:2157
 msgid "# gap requests forwarded (counting each peer)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2144
+#: src/applications/gap/gap.c:2158
 msgid "# gap duplicate requests (pending)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2145
+#: src/applications/gap/gap.c:2159
 #, fuzzy
 msgid "# gap duplicate requests that were re-tried"
 msgstr "#BYAKIRIWE"
 
-#: src/applications/gap/gap.c:2146
+#: src/applications/gap/gap.c:2160
 msgid "# gap re-try ttl difference (cummulative)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2147
+#: src/applications/gap/gap.c:2161
 msgid "# gap reply duplicates"
 msgstr ""
 
-#: src/applications/gap/gap.c:2148
+#: src/applications/gap/gap.c:2162
 #, fuzzy
 msgid "# gap spurious replies"
 msgstr "#hejuru Ibibazo BYAKIRIWE"
 
-#: src/applications/gap/gap.c:2149
+#: src/applications/gap/gap.c:2163
 msgid "# gap routing slots currently in use"
 msgstr ""
 
-#: src/applications/gap/gap.c:2150
+#: src/applications/gap/gap.c:2164
 msgid "# gap memory used for tracking seen content"
 msgstr ""
 
-#: src/applications/gap/gap.c:2151
+#: src/applications/gap/gap.c:2165
 msgid "# gap memory used for tracking routing destinations"
 msgstr ""
 
-#: src/applications/gap/gap.c:2152
+#: src/applications/gap/gap.c:2166
 msgid "# gap rewards pending"
 msgstr ""
 
-#: src/applications/gap/gap.c:2153
+#: src/applications/gap/gap.c:2167
 #, fuzzy
 msgid "# gap response weights"
 msgstr "#hejuru Ibibazo BYAKIRIWE"
 
-#: src/applications/gap/gap.c:2169
+#: src/applications/gap/gap.c:2183
 msgid ""
 "Traffic service failed to load; gap cannot ensure cover-traffic "
 "availability.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2197
+#: src/applications/gap/gap.c:2211
 #, c-format
 msgid "`%s' registering handlers %d %d\n"
 msgstr ""
@@ -2394,12 +2394,12 @@
 msgid "Cannot store client info\n"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:105
 #, fuzzy
 msgid "Yes"
 msgstr "Yego"
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:104
 #, fuzzy
 msgid "No"
 msgstr "Oya."
@@ -2489,12 +2489,12 @@
 msgid "Can't create semaphore: %i"
 msgstr ""
 
-#: src/util/os/statuscalls.c:176 src/util/os/statuscalls.c:254
+#: src/util/os/statuscalls.c:179 src/util/os/statuscalls.c:257
 #, fuzzy, c-format
 msgid "Failed to parse interface data from `%s'.\n"
 msgstr "Kuri Ibyatanzwe Bivuye ku"
 
-#: src/util/os/statuscalls.c:296 src/util/os/statuscalls.c:305
+#: src/util/os/statuscalls.c:299 src/util/os/statuscalls.c:308
 #, fuzzy, c-format
 msgid ""
 "No network interfaces defined in configuration section `%s' under `%s'!\n"
@@ -2920,7 +2920,8 @@
 msgstr ""
 
 #: src/setup/ncurses/mconf.c:161 src/setup/ncurses/mconf.c:265
-#: src/setup/ncurses/mconf.c:370
+#: src/setup/ncurses/mconf.c:370 src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:191 src/setup/ncurses/wizard_curs.c:307
 msgid "Internal error! (Choice invalid?)"
 msgstr ""
 
@@ -2940,7 +2941,7 @@
 msgid "Value is not in legal range."
 msgstr ""
 
-#: src/setup/ncurses/mconf.c:413
+#: src/setup/ncurses/mconf.c:413 src/setup/ncurses/wizard_curs.c:562
 #, fuzzy
 msgid "GNUnet Configuration"
 msgstr "A bushyinguro"
@@ -2968,24 +2969,39 @@
 "Your configuration changes were NOT saved.\n"
 msgstr "Gufungura Iboneza IDOSIYE"
 
-#: src/setup/ncurses/wizard_curs.c:56 src/setup/lib/wizard_util.c:131
+#: src/setup/ncurses/wizard_curs.c:67 src/setup/lib/wizard_util.c:131
 #: src/setup/lib/wizard_util.c:176
 msgid "Error"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:120 src/setup/ncurses/wizard_curs.c:135
-#: src/setup/ncurses/wizard_curs.c:188 src/setup/ncurses/wizard_curs.c:225
-#: src/setup/ncurses/wizard_curs.c:255 src/setup/ncurses/wizard_curs.c:281
-#: src/setup/ncurses/wizard_curs.c:314 src/setup/ncurses/wizard_curs.c:341
-#: src/setup/ncurses/wizard_curs.c:373 src/setup/ncurses/wizard_curs.c:398
-#: src/setup/ncurses/wizard_curs.c:427 src/setup/ncurses/wizard_curs.c:450
-#: src/setup/ncurses/wizard_curs.c:505 src/setup/ncurses/wizard_curs.c:567
-#: src/setup/ncurses/wizard_curs.c:598 src/setup/ncurses/wizard_curs.c:642
+# sfx2/source\appl\newhelp.src:STR_HELP_WINDOW_TITLE.text
+#: src/setup/ncurses/wizard_curs.c:77 src/setup/gtk/gconf.c:417
 #, fuzzy
+msgid "Help"
+msgstr "/Kugoboka"
+
+#: src/setup/ncurses/wizard_curs.c:86
+msgid "Error!"
+msgstr ""
+
+# offmgr/source\offapp\intro\intro.hrc:TEXT_DEFAULTABOUT.text
+#: src/setup/ncurses/wizard_curs.c:153
+#, fuzzy
+msgid "Abort"
+msgstr "Ibyerekeye"
+
+#: src/setup/ncurses/wizard_curs.c:154
+#, fuzzy
+msgid "Ok"
+msgstr "Oke"
+
+#: src/setup/ncurses/wizard_curs.c:222 src/setup/ncurses/wizard_curs.c:290
+#: src/setup/ncurses/wizard_curs.c:443
+#, fuzzy
 msgid "GNUnet configuration"
 msgstr "A bushyinguro"
 
-#: src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:223
 msgid ""
 "Welcome to GNUnet!\n"
 "\n"
@@ -3002,151 +3018,133 @@
 "the GNUnet team"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:136
+#: src/setup/ncurses/wizard_curs.c:291
 msgid ""
 "Choose the network interface that connects your computer to the internet "
 "from the list below."
 msgstr ""
 
-# sfx2/source\appl\newhelp.src:STR_HELP_WINDOW_TITLE.text
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:195
-#: src/setup/ncurses/wizard_curs.c:232 src/setup/ncurses/wizard_curs.c:287
-#: src/setup/ncurses/wizard_curs.c:319 src/setup/ncurses/wizard_curs.c:379
-#: src/setup/gtk/gconf.c:417
-#, fuzzy
-msgid "Help"
-msgstr "/Kugoboka"
-
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:196
+#: src/setup/ncurses/wizard_curs.c:312 src/setup/ncurses/wizard_curs.c:325
 msgid ""
 "The \"Network interface\" is the device that connects your computer to the "
 "internet. This is usually a modem, an ISDN card or a network card in case "
 "you are using DSL."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:189
+#: src/setup/ncurses/wizard_curs.c:323
+#, fuzzy
+msgid "Network configuration: interface"
+msgstr "A bushyinguro"
+
+#: src/setup/ncurses/wizard_curs.c:324
 msgid ""
 "What is the name of the network interface that connects your computer to the "
 "Internet?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:226
+#: src/setup/ncurses/wizard_curs.c:335
+#, fuzzy
+msgid "Network configuration: NAT"
+msgstr "A bushyinguro"
+
+#: src/setup/ncurses/wizard_curs.c:336
 msgid ""
-"What is this computer's public IP address or hostname?\n"
+"Is this machine behind NAT?\n"
 "\n"
-"If in doubt, leave this empty."
+"If you are connected to the internet through another computer doing SNAT, a "
+"router or a \"hardware firewall\" and other computers on the internet cannot "
+"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
+"connections through modems, ISDN cards and DNAT (also known as \"port "
+"forwarding\")."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:233
+#: src/setup/ncurses/wizard_curs.c:349
+#, fuzzy
+msgid "Network configuration: IP"
+msgstr "A bushyinguro"
+
+#: src/setup/ncurses/wizard_curs.c:350
+msgid "What is this computer's public IP address or hostname?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:351
 msgid ""
 "If your provider always assigns the same IP-Address to you (a \"static\" IP-"
 "Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
 "every now and then (\"dynamic\" IP-Address) but there's a hostname that "
 "always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
 "enter it here.\n"
-"If in doubt, leave the field empty. GNUnet will then try to determine your "
-"IP-Address."
+"If left empty, GNUnet will try to automatically detect the IP.\n"
+"You can specify a hostname, GNUnet will then use DNS to resolve it.\n"
+"If in doubt, leave this empty."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:256
-msgid ""
-"Is this machine behind NAT?\n"
-"\n"
-"If you are connected to the internet through another computer doing SNAT, a "
-"router or a \"hardware firewall\" and other computers on the internet cannot "
-"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
-"connections through modems, ISDN cards and DNAT (also known as \"port "
-"forwarding\")."
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:366
+#, fuzzy
+msgid "Bandwidth configuration: upload"
+msgstr "A bushyinguro"
 
-#: src/setup/ncurses/wizard_curs.c:282
-msgid "How much upstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:367
+msgid "How much upstream bandwidth (in bytes/s) may be used?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:287
+#: src/setup/ncurses/wizard_curs.c:368
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"upstream\" is the data channel through which data is *sent* to the "
-"internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate, you can set it to the maximum speed of your internet "
-"connection."
+"internet. The limit is the maximum amountwhich GNUnet is allowed to use. If "
+"you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:314
-msgid "How much downstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:380
+#, fuzzy
+msgid "Bandwidth configuration: download"
+msgstr "A bushyinguro"
+
+#: src/setup/ncurses/wizard_curs.c:381
+msgid "How much downstream bandwidth (in bytes/s) may be used?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:320
+#: src/setup/ncurses/wizard_curs.c:382
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"downstream\" is the data channel through which data is *received* from "
-"the internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate you can set it to the maximum speed of your internet "
-"connection."
+"the internet. The limit is the maximum amountwhich GNUnet is allowed to use. "
+"If you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:342
-msgid ""
-"Share denoted bandwidth with other applications?\n"
-"\n"
-"Say \"yes\" here, if you don't want other network traffic to interfere with "
-"GNUnet's operation, but still wish to constrain GNUnet's bandwidth usage to "
-"values entered in the previous steps, or if you can't reliably measure the "
-"maximum capabilities of your connection. \"No\" can be very useful if other "
-"applications are causing a lot of traffic on your LAN.  In this case, you do "
-"not want to limit the traffic that GNUnet can inflict on your internet "
-"connection whenever your high-speed LAN gets used (e.g. by NFS)."
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:394
+#, fuzzy
+msgid "Quota configuration"
+msgstr "A bushyinguro"
 
-#: src/setup/ncurses/wizard_curs.c:374
-msgid "How much CPU (in %) may be used?"
+#: src/setup/ncurses/wizard_curs.c:395
+msgid "What is the maximum size of the datastore in MB?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:380
+#: src/setup/ncurses/wizard_curs.c:396
 msgid ""
-"You can limit GNUnet's resource usage here.\n"
-"\n"
-"This is the percentage of processor time GNUnet is allowed to use."
+"The GNUnet datastore contains all content that GNUnet needs to store "
+"(indexed, inserted and migrated content)."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:399
-msgid ""
-"Store migrated content?\n"
-"\n"
-"GNUnet is able to store data from other peers in your datastore. This is "
-"useful if an adversary has access to your inserted content and you need to "
-"deny that the content is yours. With \"content migration\" on, the content "
-"could have \"migrated\" over the internet to your node without your "
-"knowledge.\n"
-"It also helps to spread popular content over different peers to enhance "
-"availability."
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:409
+#, fuzzy
+msgid "Daemon configuration: user account"
+msgstr "A bushyinguro"
 
-#: src/setup/ncurses/wizard_curs.c:428
-msgid ""
-"What's the maximum datastore size in MB?\n"
-"\n"
-"The GNUnet datastore contains all data that GNUnet generates (index data, "
-"inserted and migrated content)."
+#: src/setup/ncurses/wizard_curs.c:410
+msgid "As which user should gnunetd be run?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:451
+#: src/setup/ncurses/wizard_curs.c:411
 msgid ""
-"Do you want to launch GNUnet as a system service?\n"
-"\n"
-"If you say \"yes\" here, the GNUnet background process will be automatically "
-"started when you turn on your computer. If you say \"no\" here, you have to "
-"launch GNUnet yourself each time you want to use it."
-msgstr ""
-
-#: src/setup/ncurses/wizard_curs.c:506
-msgid ""
-"Define the user owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new user "
 "account under which the GNUnet service is started at system startup.\n"
 "\n"
@@ -3154,15 +3152,19 @@
 "includes files you want to publish in GNUnet. You'll have to grant read "
 "permissions to the user specified below.\n"
 "\n"
-"Leave the fields empty to run GNUnet with system privileges.\n"
-"\n"
-"GNUnet user:"
+"Leave the field empty to run GNUnet with system privileges.\n"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:568
+#: src/setup/ncurses/wizard_curs.c:429
+msgid "Daemon configuration: group account"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:430
+msgid "As which group should gnunetd be run?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:431
 msgid ""
-"Define the group owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new group "
 "for the chosen user account.\n"
 "\n"
@@ -3170,50 +3172,65 @@
 "\n"
 "Only members of this group will be allowed to start and stop the the GNUnet "
 "server and have access to GNUnet server data.\n"
-"\n"
-"GNUnet group:"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:599
+#: src/setup/ncurses/wizard_curs.c:444
+msgid "Do you want to automatically launch GNUnet as a system service?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:445
 msgid ""
-"If you are an experienced user, you may want to tweak your GNUnet "
-"installation using the enhanced configurator.\n"
-"\n"
-"Do you want to start it after saving your configuration?"
+"If you say \"yes\" here, the GNUnet background process will be automatically "
+"started when you turn on your computer. If you say \"no\" here, you have to "
+"launch GNUnet yourself each time you want to use it."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:620 src/setup/gtk/wizard_gtk.c:473
-msgid "Unable to create user account:"
+#: src/setup/ncurses/wizard_curs.c:466 src/setup/gtk/wizard_gtk.c:428
+#, fuzzy, c-format
+msgid "Unable to save configuration file `%s':"
+msgstr "OYA Iboneza IDOSIYE"
+
+#: src/setup/ncurses/wizard_curs.c:493
+msgid "Unable to create user account for daemon."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:623 src/setup/gtk/wizard_gtk.c:480
-msgid "Unable to change startup process:"
+#: src/setup/ncurses/wizard_curs.c:507
+msgid "Unable to setup autostart for daemon."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:636
-#, fuzzy, c-format
-msgid ""
-"Unable to save configuration file %s: %s.\n"
-"\n"
-"Try again?"
-msgstr "Gufungura Iboneza IDOSIYE"
+#: src/setup/ncurses/wizard_curs.c:521
+#, fuzzy
+msgid "Save configuration?"
+msgstr "A bushyinguro"
 
+#: src/setup/ncurses/wizard_curs.c:522
+#, fuzzy
+msgid "Save configuration now?"
+msgstr "A bushyinguro"
+
+#: src/setup/ncurses/wizard_curs.c:566
+msgid "Back"
+msgstr ""
+
 #: src/setup/gtk/wizard_gtk.c:145
 #, fuzzy
 msgid "(unknown connection)"
 msgstr "Imiterere Verisiyo"
 
-#: src/setup/gtk/wizard_gtk.c:422
-#, fuzzy, c-format
-msgid "Unable to save configuration file `%s':"
-msgstr "OYA Iboneza IDOSIYE"
-
-#: src/setup/gtk/wizard_gtk.c:444
+#: src/setup/gtk/wizard_gtk.c:450
 #, fuzzy
 msgid "Do you want to save the new configuration?"
 msgstr "OYA Iboneza IDOSIYE"
 
-#: src/setup/gtk/wizard_gtk.c:496
+#: src/setup/gtk/wizard_gtk.c:480
+msgid "Unable to create user account:"
+msgstr ""
+
+#: src/setup/gtk/wizard_gtk.c:490
+msgid "Unable to change startup process:"
+msgstr ""
+
+#: src/setup/gtk/wizard_gtk.c:505
 msgid ""
 "Running gnunet-update failed.\n"
 "This maybe due to insufficient permissions, please check your "
@@ -3628,17 +3645,17 @@
 msgid "MTU for `%s' is probably too low (fragmentation not implemented!)\n"
 msgstr "kugirango ni Byo hasi OYA"
 
-#: src/transports/tcp_old.c:1256
+#: src/transports/tcp_old.c:1258
 #, fuzzy
 msgid "# bytes received via TCP-OLD"
 msgstr "#Bayite BYAKIRIWE Bya Ubwoko"
 
-#: src/transports/tcp_old.c:1258
+#: src/transports/tcp_old.c:1260
 #, fuzzy
 msgid "# bytes sent via TCP-OLD"
 msgstr "#Bayite Yoherejwe:"
 
-#: src/transports/tcp_old.c:1260
+#: src/transports/tcp_old.c:1262
 msgid "# bytes dropped by TCP-OLD (outgoing)"
 msgstr ""
 
@@ -3825,70 +3842,78 @@
 msgid "%s failed, message type %d already in use.\n"
 msgstr "%sByanze Ubutumwa Ubwoko in Gukoresha"
 
-#: src/server/connection.c:1024
+#: src/server/connection.c:1114
 #, fuzzy, c-format
 msgid "`%s' selected %d out of %d messages (MTU: %d).\n"
 msgstr "`%s'Byahiswemo Inyuma Bya Ubutumwa"
 
-#: src/server/connection.c:1033
+#: src/server/connection.c:1123
 #, fuzzy, c-format
 msgid "Message details: %u: length %d, priority: %d\n"
 msgstr "Birambuye Uburebure By'ibanze"
 
-#: src/server/connection.c:2419
+#: src/server/connection.c:2529
 #, fuzzy, c-format
 msgid "Message from `%s' discarded: invalid format.\n"
 msgstr "Bivuye Sibyo Imiterere"
 
-#: src/server/connection.c:2491
+#: src/server/connection.c:2607
 #, fuzzy, c-format
 msgid "Invalid sequence number %u <= %u, dropping message.\n"
 msgstr "Umubare Bya"
 
-#: src/server/connection.c:2508
+#: src/server/connection.c:2624
 #, fuzzy
 msgid "Message received more than one day old. Dropped.\n"
 msgstr "BYAKIRIWE Birenzeho UMUNSI ki/ bishaje"
 
-#: src/server/connection.c:2937
+#: src/server/connection.c:3063
 #, fuzzy
 msgid "# outgoing messages dropped"
 msgstr "#Ubutumwa"
 
-#: src/server/connection.c:2941
+#: src/server/connection.c:3067
 #, fuzzy
 msgid "# bytes of outgoing messages dropped"
 msgstr "#Bayite Bya BYAKIRIWE"
 
-#: src/server/connection.c:2943
+#: src/server/connection.c:3069
 msgid "# connections closed (HANGUP sent)"
 msgstr ""
 
-#: src/server/connection.c:2946
+#: src/server/connection.c:3072
 #, fuzzy
 msgid "# bytes encrypted"
 msgstr "#Bayite"
 
-#: src/server/connection.c:2950
+#: src/server/connection.c:3076
 #, fuzzy
 msgid "# bytes transmitted"
 msgstr "#Bayite Bya Ubwoko"
 
-#: src/server/connection.c:2954
+#: src/server/connection.c:3080
 #, fuzzy
 msgid "# bytes received"
 msgstr "#Bayite BYAKIRIWE Bya Ubwoko"
 
-#: src/server/connection.c:2956
+#: src/server/connection.c:3083
 #, fuzzy
 msgid "# bytes decrypted"
 msgstr "#Bayite"
 
-#: src/server/connection.c:2957
+#: src/server/connection.c:3085
 #, fuzzy
 msgid "# bytes noise sent"
 msgstr "#Bayite Bya BYAKIRIWE"
 
+#: src/server/connection.c:3087
+msgid "# total advertised bytes per second received limit"
+msgstr ""
+
+#: src/server/connection.c:3089
+msgid "# total allowed bytes per second transmission limit"
+msgstr ""
+
 #: src/server/version.c:152
 msgid ""
 "Failed to determine filename used to store GNUnet version information!\n"
@@ -4183,14 +4208,17 @@
 msgstr "Ubuturo ku ni"
 
 #, fuzzy
+#~ msgid ""
+#~ "Unable to save configuration file %s: %s.\n"
+#~ "\n"
+#~ "Try again?"
+#~ msgstr "Gufungura Iboneza IDOSIYE"
+
+#, fuzzy
 #~ msgid "No help available."
 #~ msgstr "`%s'ni OYA a Ibisanzwe IDOSIYE"
 
 #, fuzzy
-#~ msgid "Meta-configuration"
-#~ msgstr "A bushyinguro"
-
-#, fuzzy
 #~ msgid "Full pathname of GNUnet HOME directory"
 #~ msgstr "Izina: Bya i bushyinguro"
 
@@ -4731,10 +4759,6 @@
 #~ msgstr "Kuri Ibirimo Ububikoshingiro Isomero"
 
 #, fuzzy
-#~ msgid "GNUnet configuration assistant"
-#~ msgstr "A bushyinguro"
-
-#, fuzzy
 #~ msgid "Store migrated content"
 #~ msgstr "#GUSHAKISHA Byinjijwemo Cyangwa Ibikubiyemo"
 
@@ -4827,10 +4851,6 @@
 #~ msgid "Invalid argument for `%s' at %s:%d.\n"
 #~ msgstr "kugirango ku"
 
-#, fuzzy
-#~ msgid "k"
-#~ msgstr "Oke"
-
 #~ msgid "unknown"
 #~ msgstr "itazwi"
 

Modified: GNUnet/po/sv.po
===================================================================
--- GNUnet/po/sv.po     2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/po/sv.po     2006-12-14 04:25:13 UTC (rev 3936)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0b\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-12-04 19:14-0700\n"
+"POT-Creation-Date: 2006-12-11 21:40-0700\n"
 "PO-Revision-Date: 2006-01-21 17:16+0100\n"
 "Last-Translator: Daniel Nylander <address@hidden>\n"
 "Language-Team: Swedish <address@hidden>\n"
@@ -806,7 +806,7 @@
 "Unindexed ODB block `%s' from offset %llu already missing from datastore.\n"
 msgstr ""
 
-#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1832
+#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1846
 msgid "Failed to get traffic stats.\n"
 msgstr ""
 
@@ -1286,116 +1286,116 @@
 msgid "Supported client-server messages:\n"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:156
+#: src/applications/gap/pid_table.c:161
 msgid "# distinct interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:158
+#: src/applications/gap/pid_table.c:163
 msgid "# total RC of interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/gap.c:1645
+#: src/applications/gap/gap.c:1659
 #, fuzzy, c-format
 msgid "GAP received invalid content from `%s'\n"
 msgstr "Mottog ogiltigt \"%s\" meddelande från \"%s\".\n"
 
-#: src/applications/gap/gap.c:1646
+#: src/applications/gap/gap.c:1660
 msgid "myself"
 msgstr ""
 
-#: src/applications/gap/gap.c:1820
+#: src/applications/gap/gap.c:1834
 msgid ""
 "Cover traffic requested but traffic service not loaded.  Rejecting request.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:1839 src/applications/gap/gap.c:1845
-#: src/applications/gap/gap.c:1852
+#: src/applications/gap/gap.c:1853 src/applications/gap/gap.c:1859
+#: src/applications/gap/gap.c:1866
 msgid "Cannot satisfy desired level of anonymity, ignoring request.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2135
+#: src/applications/gap/gap.c:2149
 msgid "# gap requests total received"
 msgstr ""
 
-#: src/applications/gap/gap.c:2136
+#: src/applications/gap/gap.c:2150
 msgid "# gap requests policy: immediate drop"
 msgstr ""
 
-#: src/applications/gap/gap.c:2137
+#: src/applications/gap/gap.c:2151
 msgid "# gap requests policy: not routed"
 msgstr ""
 
-#: src/applications/gap/gap.c:2138
+#: src/applications/gap/gap.c:2152
 msgid "# gap requests policy: not answered"
 msgstr ""
 
-#: src/applications/gap/gap.c:2139
+#: src/applications/gap/gap.c:2153
 msgid "# gap requests processed: attempted add to RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2140
+#: src/applications/gap/gap.c:2154
 msgid "# gap requests processed: local result"
 msgstr ""
 
-#: src/applications/gap/gap.c:2141
+#: src/applications/gap/gap.c:2155
 msgid "# gap routing successes (total)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2142
+#: src/applications/gap/gap.c:2156
 msgid "# gap requests dropped: collision in RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2143
+#: src/applications/gap/gap.c:2157
 msgid "# gap requests forwarded (counting each peer)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2144
+#: src/applications/gap/gap.c:2158
 msgid "# gap duplicate requests (pending)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2145
+#: src/applications/gap/gap.c:2159
 msgid "# gap duplicate requests that were re-tried"
 msgstr ""
 
-#: src/applications/gap/gap.c:2146
+#: src/applications/gap/gap.c:2160
 msgid "# gap re-try ttl difference (cummulative)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2147
+#: src/applications/gap/gap.c:2161
 msgid "# gap reply duplicates"
 msgstr ""
 
-#: src/applications/gap/gap.c:2148
+#: src/applications/gap/gap.c:2162
 msgid "# gap spurious replies"
 msgstr ""
 
-#: src/applications/gap/gap.c:2149
+#: src/applications/gap/gap.c:2163
 msgid "# gap routing slots currently in use"
 msgstr ""
 
-#: src/applications/gap/gap.c:2150
+#: src/applications/gap/gap.c:2164
 msgid "# gap memory used for tracking seen content"
 msgstr ""
 
-#: src/applications/gap/gap.c:2151
+#: src/applications/gap/gap.c:2165
 msgid "# gap memory used for tracking routing destinations"
 msgstr ""
 
-#: src/applications/gap/gap.c:2152
+#: src/applications/gap/gap.c:2166
 msgid "# gap rewards pending"
 msgstr ""
 
-#: src/applications/gap/gap.c:2153
+#: src/applications/gap/gap.c:2167
 msgid "# gap response weights"
 msgstr ""
 
-#: src/applications/gap/gap.c:2169
+#: src/applications/gap/gap.c:2183
 msgid ""
 "Traffic service failed to load; gap cannot ensure cover-traffic "
 "availability.\n"
 msgstr ""
 
-#: src/applications/gap/gap.c:2197
+#: src/applications/gap/gap.c:2211
 #, c-format
 msgid "`%s' registering handlers %d %d\n"
 msgstr "\"%s\" registrerar handtag %d %d\n"
@@ -2201,11 +2201,11 @@
 msgid "Cannot store client info\n"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:105
 msgid "Yes"
 msgstr "Ja"
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:104
 msgid "No"
 msgstr "Nej"
 
@@ -2293,12 +2293,12 @@
 msgid "Can't create semaphore: %i"
 msgstr "Kan inte skapa semafor: %i"
 
-#: src/util/os/statuscalls.c:176 src/util/os/statuscalls.c:254
+#: src/util/os/statuscalls.c:179 src/util/os/statuscalls.c:257
 #, fuzzy, c-format
 msgid "Failed to parse interface data from `%s'.\n"
 msgstr "Misslyckades att läsa kompislista från \"%s\"\n"
 
-#: src/util/os/statuscalls.c:296 src/util/os/statuscalls.c:305
+#: src/util/os/statuscalls.c:299 src/util/os/statuscalls.c:308
 #, c-format
 msgid ""
 "No network interfaces defined in configuration section `%s' under `%s'!\n"
@@ -2711,7 +2711,8 @@
 msgstr ""
 
 #: src/setup/ncurses/mconf.c:161 src/setup/ncurses/mconf.c:265
-#: src/setup/ncurses/mconf.c:370
+#: src/setup/ncurses/mconf.c:370 src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:191 src/setup/ncurses/wizard_curs.c:307
 msgid "Internal error! (Choice invalid?)"
 msgstr ""
 
@@ -2731,7 +2732,7 @@
 msgid "Value is not in legal range."
 msgstr ""
 
-#: src/setup/ncurses/mconf.c:413
+#: src/setup/ncurses/mconf.c:413 src/setup/ncurses/wizard_curs.c:562
 #, fuzzy
 msgid "GNUnet Configuration"
 msgstr "GNUnet-konfiguration"
@@ -2761,23 +2762,36 @@
 "Your configuration changes were NOT saved.\n"
 msgstr "Konfigurationsfil \"%s\" skapad.\n"
 
-#: src/setup/ncurses/wizard_curs.c:56 src/setup/lib/wizard_util.c:131
+#: src/setup/ncurses/wizard_curs.c:67 src/setup/lib/wizard_util.c:131
 #: src/setup/lib/wizard_util.c:176
 msgid "Error"
 msgstr "Fel"
 
-#: src/setup/ncurses/wizard_curs.c:120 src/setup/ncurses/wizard_curs.c:135
-#: src/setup/ncurses/wizard_curs.c:188 src/setup/ncurses/wizard_curs.c:225
-#: src/setup/ncurses/wizard_curs.c:255 src/setup/ncurses/wizard_curs.c:281
-#: src/setup/ncurses/wizard_curs.c:314 src/setup/ncurses/wizard_curs.c:341
-#: src/setup/ncurses/wizard_curs.c:373 src/setup/ncurses/wizard_curs.c:398
-#: src/setup/ncurses/wizard_curs.c:427 src/setup/ncurses/wizard_curs.c:450
-#: src/setup/ncurses/wizard_curs.c:505 src/setup/ncurses/wizard_curs.c:567
-#: src/setup/ncurses/wizard_curs.c:598 src/setup/ncurses/wizard_curs.c:642
+#: src/setup/ncurses/wizard_curs.c:77 src/setup/gtk/gconf.c:417
+msgid "Help"
+msgstr "Hjälp"
+
+#: src/setup/ncurses/wizard_curs.c:86
+#, fuzzy
+msgid "Error!"
+msgstr "Fel"
+
+#: src/setup/ncurses/wizard_curs.c:153
+#, fuzzy
+msgid "Abort"
+msgstr "_Om"
+
+#: src/setup/ncurses/wizard_curs.c:154
+#, fuzzy
+msgid "Ok"
+msgstr "k"
+
+#: src/setup/ncurses/wizard_curs.c:222 src/setup/ncurses/wizard_curs.c:290
+#: src/setup/ncurses/wizard_curs.c:443
 msgid "GNUnet configuration"
 msgstr "GNUnet-konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:223
 msgid ""
 "Welcome to GNUnet!\n"
 "\n"
@@ -2807,52 +2821,37 @@
 "\n"
 "the GNUnet team"
 
-#: src/setup/ncurses/wizard_curs.c:136
+#: src/setup/ncurses/wizard_curs.c:291
 msgid ""
 "Choose the network interface that connects your computer to the internet "
 "from the list below."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:195
-#: src/setup/ncurses/wizard_curs.c:232 src/setup/ncurses/wizard_curs.c:287
-#: src/setup/ncurses/wizard_curs.c:319 src/setup/ncurses/wizard_curs.c:379
-#: src/setup/gtk/gconf.c:417
-msgid "Help"
-msgstr "Hjälp"
-
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:196
+#: src/setup/ncurses/wizard_curs.c:312 src/setup/ncurses/wizard_curs.c:325
 msgid ""
 "The \"Network interface\" is the device that connects your computer to the "
 "internet. This is usually a modem, an ISDN card or a network card in case "
 "you are using DSL."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:189
+#: src/setup/ncurses/wizard_curs.c:323
+#, fuzzy
+msgid "Network configuration: interface"
+msgstr "Nätverksgränssnitt:"
+
+#: src/setup/ncurses/wizard_curs.c:324
 msgid ""
 "What is the name of the network interface that connects your computer to the "
 "Internet?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:226
-msgid ""
-"What is this computer's public IP address or hostname?\n"
-"\n"
-"If in doubt, leave this empty."
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:335
+#, fuzzy
+msgid "Network configuration: NAT"
+msgstr "GNUnet-konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:233
+#: src/setup/ncurses/wizard_curs.c:336
 msgid ""
-"If your provider always assigns the same IP-Address to you (a \"static\" IP-"
-"Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
-"every now and then (\"dynamic\" IP-Address) but there's a hostname that "
-"always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
-"enter it here.\n"
-"If in doubt, leave the field empty. GNUnet will then try to determine your "
-"IP-Address."
-msgstr ""
-
-#: src/setup/ncurses/wizard_curs.c:256
-msgid ""
 "Is this machine behind NAT?\n"
 "\n"
 "If you are connected to the internet through another computer doing SNAT, a "
@@ -2862,97 +2861,95 @@
 "forwarding\")."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:282
-msgid "How much upstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:349
+#, fuzzy
+msgid "Network configuration: IP"
+msgstr "GNUnet-konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:350
+msgid "What is this computer's public IP address or hostname?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:287
+#: src/setup/ncurses/wizard_curs.c:351
 msgid ""
-"You can limit GNUnet's resource usage here.\n"
-"\n"
-"The \"upstream\" is the data channel through which data is *sent* to the "
-"internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate, you can set it to the maximum speed of your internet "
-"connection."
+"If your provider always assigns the same IP-Address to you (a \"static\" IP-"
+"Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
+"every now and then (\"dynamic\" IP-Address) but there's a hostname that "
+"always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
+"enter it here.\n"
+"If left empty, GNUnet will try to automatically detect the IP.\n"
+"You can specify a hostname, GNUnet will then use DNS to resolve it.\n"
+"If in doubt, leave this empty."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:314
-msgid "How much downstream (Bytes/s) may be used?"
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:366
+#, fuzzy
+msgid "Bandwidth configuration: upload"
+msgstr "GNUnet-konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:320
+#: src/setup/ncurses/wizard_curs.c:367
+#, fuzzy
+msgid "How much upstream bandwidth (in bytes/s) may be used?"
+msgstr "Hur mycket CPU (i %) får användas?"
+
+#: src/setup/ncurses/wizard_curs.c:368
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
-"The \"downstream\" is the data channel through which data is *received* from "
-"the internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate you can set it to the maximum speed of your internet "
-"connection."
+"The \"upstream\" is the data channel through which data is *sent* to the "
+"internet. The limit is the maximum amountwhich GNUnet is allowed to use. If "
+"you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:342
-msgid ""
-"Share denoted bandwidth with other applications?\n"
-"\n"
-"Say \"yes\" here, if you don't want other network traffic to interfere with "
-"GNUnet's operation, but still wish to constrain GNUnet's bandwidth usage to "
-"values entered in the previous steps, or if you can't reliably measure the "
-"maximum capabilities of your connection. \"No\" can be very useful if other "
-"applications are causing a lot of traffic on your LAN.  In this case, you do "
-"not want to limit the traffic that GNUnet can inflict on your internet "
-"connection whenever your high-speed LAN gets used (e.g. by NFS)."
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:380
+#, fuzzy
+msgid "Bandwidth configuration: download"
+msgstr "GNUnet-konfiguration"
 
-#: src/setup/ncurses/wizard_curs.c:374
-msgid "How much CPU (in %) may be used?"
+#: src/setup/ncurses/wizard_curs.c:381
+#, fuzzy
+msgid "How much downstream bandwidth (in bytes/s) may be used?"
 msgstr "Hur mycket CPU (i %) får användas?"
 
-#: src/setup/ncurses/wizard_curs.c:380
+#: src/setup/ncurses/wizard_curs.c:382
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
-"This is the percentage of processor time GNUnet is allowed to use."
+"The \"downstream\" is the data channel through which data is *received* from "
+"the internet. The limit is the maximum amountwhich GNUnet is allowed to use. "
+"If you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
-"Du kan begränsa GNUnets resursanvändning här.\n"
-"\n"
-"Det här är det procenttal som GNUnet tillåts använda av processortiden."
 
-#: src/setup/ncurses/wizard_curs.c:399
-msgid ""
-"Store migrated content?\n"
-"\n"
-"GNUnet is able to store data from other peers in your datastore. This is "
-"useful if an adversary has access to your inserted content and you need to "
-"deny that the content is yours. With \"content migration\" on, the content "
-"could have \"migrated\" over the internet to your node without your "
-"knowledge.\n"
-"It also helps to spread popular content over different peers to enhance "
-"availability."
+#: src/setup/ncurses/wizard_curs.c:394
+#, fuzzy
+msgid "Quota configuration"
+msgstr "GNUnet-konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:395
+msgid "What is the maximum size of the datastore in MB?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:428
+#: src/setup/ncurses/wizard_curs.c:396
 msgid ""
-"What's the maximum datastore size in MB?\n"
-"\n"
-"The GNUnet datastore contains all data that GNUnet generates (index data, "
-"inserted and migrated content)."
+"The GNUnet datastore contains all content that GNUnet needs to store "
+"(indexed, inserted and migrated content)."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:451
-msgid ""
-"Do you want to launch GNUnet as a system service?\n"
-"\n"
-"If you say \"yes\" here, the GNUnet background process will be automatically "
-"started when you turn on your computer. If you say \"no\" here, you have to "
-"launch GNUnet yourself each time you want to use it."
+#: src/setup/ncurses/wizard_curs.c:409
+#, fuzzy
+msgid "Daemon configuration: user account"
+msgstr "Kunde inte skapa användarkonto:"
+
+#: src/setup/ncurses/wizard_curs.c:410
+msgid "As which user should gnunetd be run?"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:506
+#: src/setup/ncurses/wizard_curs.c:411
 msgid ""
-"Define the user owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new user "
 "account under which the GNUnet service is started at system startup.\n"
 "\n"
@@ -2960,15 +2957,19 @@
 "includes files you want to publish in GNUnet. You'll have to grant read "
 "permissions to the user specified below.\n"
 "\n"
-"Leave the fields empty to run GNUnet with system privileges.\n"
-"\n"
-"GNUnet user:"
+"Leave the field empty to run GNUnet with system privileges.\n"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:568
+#: src/setup/ncurses/wizard_curs.c:429
+msgid "Daemon configuration: group account"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:430
+msgid "As which group should gnunetd be run?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:431
 msgid ""
-"Define the group owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new group "
 "for the chosen user account.\n"
 "\n"
@@ -2976,50 +2977,66 @@
 "\n"
 "Only members of this group will be allowed to start and stop the the GNUnet "
 "server and have access to GNUnet server data.\n"
-"\n"
-"GNUnet group:"
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:599
+#: src/setup/ncurses/wizard_curs.c:444
+msgid "Do you want to automatically launch GNUnet as a system service?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:445
 msgid ""
-"If you are an experienced user, you may want to tweak your GNUnet "
-"installation using the enhanced configurator.\n"
-"\n"
-"Do you want to start it after saving your configuration?"
+"If you say \"yes\" here, the GNUnet background process will be automatically "
+"started when you turn on your computer. If you say \"no\" here, you have to "
+"launch GNUnet yourself each time you want to use it."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:620 src/setup/gtk/wizard_gtk.c:473
-msgid "Unable to create user account:"
+#: src/setup/ncurses/wizard_curs.c:466 src/setup/gtk/wizard_gtk.c:428
+#, c-format
+msgid "Unable to save configuration file `%s':"
+msgstr "Kunde inte spara konfigurationsfil \"%s\":"
+
+#: src/setup/ncurses/wizard_curs.c:493
+#, fuzzy
+msgid "Unable to create user account for daemon."
 msgstr "Kunde inte skapa användarkonto:"
 
-#: src/setup/ncurses/wizard_curs.c:623 src/setup/gtk/wizard_gtk.c:480
-msgid "Unable to change startup process:"
+#: src/setup/ncurses/wizard_curs.c:507
+msgid "Unable to setup autostart for daemon."
 msgstr ""
 
-#: src/setup/ncurses/wizard_curs.c:636
-#, c-format
-msgid ""
-"Unable to save configuration file %s: %s.\n"
-"\n"
-"Try again?"
-msgstr ""
+#: src/setup/ncurses/wizard_curs.c:521
+#, fuzzy
+msgid "Save configuration?"
+msgstr "GNUnet-konfiguration"
 
+#: src/setup/ncurses/wizard_curs.c:522
+#, fuzzy
+msgid "Save configuration now?"
+msgstr "GNUnet-konfiguration"
+
+#: src/setup/ncurses/wizard_curs.c:566
+msgid "Back"
+msgstr "Tillbaka"
+
 #: src/setup/gtk/wizard_gtk.c:145
 #, fuzzy
 msgid "(unknown connection)"
 msgstr "Nätverksanslutning"
 
-#: src/setup/gtk/wizard_gtk.c:422
-#, c-format
-msgid "Unable to save configuration file `%s':"
-msgstr "Kunde inte spara konfigurationsfil \"%s\":"
-
-#: src/setup/gtk/wizard_gtk.c:444
+#: src/setup/gtk/wizard_gtk.c:450
 #, fuzzy
 msgid "Do you want to save the new configuration?"
 msgstr "Vill du spara dina inställningar?"
 
-#: src/setup/gtk/wizard_gtk.c:496
+#: src/setup/gtk/wizard_gtk.c:480
+msgid "Unable to create user account:"
+msgstr "Kunde inte skapa användarkonto:"
+
+#: src/setup/gtk/wizard_gtk.c:490
+msgid "Unable to change startup process:"
+msgstr ""
+
+#: src/setup/gtk/wizard_gtk.c:505
 msgid ""
 "Running gnunet-update failed.\n"
 "This maybe due to insufficient permissions, please check your "
@@ -3405,17 +3422,17 @@
 msgid "MTU for `%s' is probably too low (fragmentation not implemented!)\n"
 msgstr ""
 
-#: src/transports/tcp_old.c:1256
+#: src/transports/tcp_old.c:1258
 #, fuzzy
 msgid "# bytes received via TCP-OLD"
 msgstr "# byte mottogs via TCP"
 
-#: src/transports/tcp_old.c:1258
+#: src/transports/tcp_old.c:1260
 #, fuzzy
 msgid "# bytes sent via TCP-OLD"
 msgstr "# byte skickades via TCP"
 
-#: src/transports/tcp_old.c:1260
+#: src/transports/tcp_old.c:1262
 #, fuzzy
 msgid "# bytes dropped by TCP-OLD (outgoing)"
 msgstr "# byte kastade via TCP (utgående)"
@@ -3539,64 +3556,72 @@
 msgid "%s failed, message type %d already in use.\n"
 msgstr ""
 
-#: src/server/connection.c:1024
+#: src/server/connection.c:1114
 #, c-format
 msgid "`%s' selected %d out of %d messages (MTU: %d).\n"
 msgstr "\"%s\" valda %d av %d meddelanden (MTU: %d).\n"
 
-#: src/server/connection.c:1033
+#: src/server/connection.c:1123
 #, c-format
 msgid "Message details: %u: length %d, priority: %d\n"
 msgstr "Detaljer om meddelande: %u: längd %d, prioritet: %d\n"
 
-#: src/server/connection.c:2419
+#: src/server/connection.c:2529
 #, c-format
 msgid "Message from `%s' discarded: invalid format.\n"
 msgstr "Meddelande från \"%s\" kastades bort: ogiltigt format.\n"
 
-#: src/server/connection.c:2491
+#: src/server/connection.c:2607
 #, c-format
 msgid "Invalid sequence number %u <= %u, dropping message.\n"
 msgstr ""
 
-#: src/server/connection.c:2508
+#: src/server/connection.c:2624
 msgid "Message received more than one day old. Dropped.\n"
 msgstr ""
 
-#: src/server/connection.c:2937
+#: src/server/connection.c:3063
 msgid "# outgoing messages dropped"
 msgstr ""
 
-#: src/server/connection.c:2941
+#: src/server/connection.c:3067
 msgid "# bytes of outgoing messages dropped"
 msgstr ""
 
-#: src/server/connection.c:2943
+#: src/server/connection.c:3069
 msgid "# connections closed (HANGUP sent)"
 msgstr ""
 
-#: src/server/connection.c:2946
+#: src/server/connection.c:3072
 msgid "# bytes encrypted"
 msgstr "# byte krypterade"
 
-#: src/server/connection.c:2950
+#: src/server/connection.c:3076
 #, fuzzy
 msgid "# bytes transmitted"
 msgstr "# byte skickade av typen %d"
 
-#: src/server/connection.c:2954
+#: src/server/connection.c:3080
 #, fuzzy
 msgid "# bytes received"
 msgstr "# byte mottogs via TCP"
 
-#: src/server/connection.c:2956
+#: src/server/connection.c:3083
 msgid "# bytes decrypted"
 msgstr "# byte dekrypterade"
 
-#: src/server/connection.c:2957
+#: src/server/connection.c:3085
 msgid "# bytes noise sent"
 msgstr ""
 
+#: src/server/connection.c:3087
+msgid "# total advertised bytes per second received limit"
+msgstr ""
+
+#: src/server/connection.c:3089
+msgid "# total allowed bytes per second transmission limit"
+msgstr ""
+
 #: src/server/version.c:152
 msgid ""
 "Failed to determine filename used to store GNUnet version information!\n"
@@ -3878,6 +3903,15 @@
 msgid "specify host on which gnunetd is running"
 msgstr "ange värd på vilken gnunetd körs"
 
+#~ msgid ""
+#~ "You can limit GNUnet's resource usage here.\n"
+#~ "\n"
+#~ "This is the percentage of processor time GNUnet is allowed to use."
+#~ msgstr ""
+#~ "Du kan begränsa GNUnets resursanvändning här.\n"
+#~ "\n"
+#~ "Det här är det procenttal som GNUnet tillåts använda av processortiden."
+
 #, fuzzy
 #~ msgid "No help available."
 #~ msgstr "\"%s\" är inte tillgänglig."
@@ -3887,10 +3921,6 @@
 #~ msgstr "Visa alla alternativ"
 
 #, fuzzy
-#~ msgid "Meta-configuration"
-#~ msgstr "GNUnet-konfiguration"
-
-#, fuzzy
 #~ msgid "Full pathname of GNUnet HOME directory"
 #~ msgstr "Filformatsfel (inte en GNUnet-katalog?)\n"
 
@@ -3933,10 +3963,6 @@
 #~ msgstr "_Alternativ"
 
 #, fuzzy
-#~ msgid "Network interface"
-#~ msgstr "Nätverksgränssnitt:"
-
-#, fuzzy
 #~ msgid "Network interface to monitor"
 #~ msgstr "Nätverksgränssnitt:"
 
@@ -4265,9 +4291,6 @@
 #~ msgid "CPU usage"
 #~ msgstr "CPU-användning"
 
-#~ msgid "Back"
-#~ msgstr "Tillbaka"
-
 #~ msgid "Finish"
 #~ msgstr "Slutför"
 
@@ -4430,9 +4453,6 @@
 #~ "%s\n"
 #~ "\n"
 
-#~ msgid "k"
-#~ msgstr "k"
-
 #~ msgid "g"
 #~ msgstr "g"
 

Modified: GNUnet/po/vi.po
===================================================================
--- GNUnet/po/vi.po     2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/po/vi.po     2006-12-14 04:25:13 UTC (rev 3936)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0pre4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-12-04 19:14-0700\n"
+"POT-Creation-Date: 2006-12-11 21:40-0700\n"
 "PO-Revision-Date: 2005-07-05 21:18+0400\n"
 "Last-Translator: Phan Vinh Thinh <address@hidden>\n"
 "Language-Team: Vietnamese <address@hidden>\n"
@@ -837,7 +837,7 @@
 "Unindexed ODB block `%s' from offset %llu already missing from datastore.\n"
 msgstr "Khối ODB đã bỏ chỉ mục '%s' từ %llu không có trong kho dữ liệu.\n"
 
-#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1832
+#: src/applications/fs/module/anonymity.c:67 src/applications/gap/gap.c:1846
 msgid "Failed to get traffic stats.\n"
 msgstr "Lấy các thông tin truyền tải không thành công.\n"
 
@@ -1326,114 +1326,114 @@
 msgid "Supported client-server messages:\n"
 msgstr "Thông báo máy khách-máy chủ hỗ trợ:\n"
 
-#: src/applications/gap/pid_table.c:156
+#: src/applications/gap/pid_table.c:161
 msgid "# distinct interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/pid_table.c:158
+#: src/applications/gap/pid_table.c:163
 msgid "# total RC of interned peer IDs in pid table"
 msgstr ""
 
-#: src/applications/gap/gap.c:1645
+#: src/applications/gap/gap.c:1659
 #, fuzzy, c-format
 msgid "GAP received invalid content from `%s'\n"
 msgstr "Nhận được thông báo sai '%s' từ '%s'.\n"
 
-#: src/applications/gap/gap.c:1646
+#: src/applications/gap/gap.c:1660
 msgid "myself"
 msgstr ""
 
-#: src/applications/gap/gap.c:1820
+#: src/applications/gap/gap.c:1834
 msgid ""
 "Cover traffic requested but traffic service not loaded.  Rejecting request.\n"
 msgstr ""
 "Đã yêu cầu che truyền tải nhưng chưa nạp dịch vụ truyền tải.  Đang nhả ra "
 "yêu cầu.\n"
 
-#: src/applications/gap/gap.c:1839 src/applications/gap/gap.c:1845
-#: src/applications/gap/gap.c:1852
+#: src/applications/gap/gap.c:1853 src/applications/gap/gap.c:1859
+#: src/applications/gap/gap.c:1866
 msgid "Cannot satisfy desired level of anonymity, ignoring request.\n"
 msgstr "Không thể thỏa mãn mức độ dấu tên mong muốn, đang lờ đi yêu cầu.\n"
 
-#: src/applications/gap/gap.c:2135
+#: src/applications/gap/gap.c:2149
 #, fuzzy
 msgid "# gap requests total received"
 msgstr "# nhận được yêu cầu theo vết trace p2p"
 
-#: src/applications/gap/gap.c:2136
+#: src/applications/gap/gap.c:2150
 msgid "# gap requests policy: immediate drop"
 msgstr ""
 
-#: src/applications/gap/gap.c:2137
+#: src/applications/gap/gap.c:2151
 msgid "# gap requests policy: not routed"
 msgstr ""
 
-#: src/applications/gap/gap.c:2138
+#: src/applications/gap/gap.c:2152
 msgid "# gap requests policy: not answered"
 msgstr ""
 
-#: src/applications/gap/gap.c:2139
+#: src/applications/gap/gap.c:2153
 msgid "# gap requests processed: attempted add to RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2140
+#: src/applications/gap/gap.c:2154
 msgid "# gap requests processed: local result"
 msgstr ""
 
-#: src/applications/gap/gap.c:2141
+#: src/applications/gap/gap.c:2155
 msgid "# gap routing successes (total)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2142
+#: src/applications/gap/gap.c:2156
 msgid "# gap requests dropped: collision in RT"
 msgstr ""
 
-#: src/applications/gap/gap.c:2143
+#: src/applications/gap/gap.c:2157
 msgid "# gap requests forwarded (counting each peer)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2144
+#: src/applications/gap/gap.c:2158
 msgid "# gap duplicate requests (pending)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2145
+#: src/applications/gap/gap.c:2159
 #, fuzzy
 msgid "# gap duplicate requests that were re-tried"
 msgstr "# nhận được yêu cầu theo vết trace p2p"
 
-#: src/applications/gap/gap.c:2146
+#: src/applications/gap/gap.c:2160
 msgid "# gap re-try ttl difference (cummulative)"
 msgstr ""
 
-#: src/applications/gap/gap.c:2147
+#: src/applications/gap/gap.c:2161
 msgid "# gap reply duplicates"
 msgstr ""
 
-#: src/applications/gap/gap.c:2148
+#: src/applications/gap/gap.c:2162
 msgid "# gap spurious replies"
 msgstr ""
 
-#: src/applications/gap/gap.c:2149
+#: src/applications/gap/gap.c:2163
 msgid "# gap routing slots currently in use"
 msgstr ""
 
-#: src/applications/gap/gap.c:2150
+#: src/applications/gap/gap.c:2164
 msgid "# gap memory used for tracking seen content"
 msgstr ""
 
-#: src/applications/gap/gap.c:2151
+#: src/applications/gap/gap.c:2165
 msgid "# gap memory used for tracking routing destinations"
 msgstr ""
 
-#: src/applications/gap/gap.c:2152
+#: src/applications/gap/gap.c:2166
 msgid "# gap rewards pending"
 msgstr ""
 
-#: src/applications/gap/gap.c:2153
+#: src/applications/gap/gap.c:2167
 msgid "# gap response weights"
 msgstr ""
 
-#: src/applications/gap/gap.c:2169
+#: src/applications/gap/gap.c:2183
 msgid ""
 "Traffic service failed to load; gap cannot ensure cover-traffic "
 "availability.\n"
@@ -1441,7 +1441,7 @@
 "Nạp dịch vụ truyền tải không thành công; lỗ hổng không thể chắc chắn khả "
 "năng truyền tải.\n"
 
-#: src/applications/gap/gap.c:2197
+#: src/applications/gap/gap.c:2211
 #, fuzzy, c-format
 msgid "`%s' registering handlers %d %d\n"
 msgstr "'%s' đăng ký trình điều khiển %d %d\n"
@@ -2271,11 +2271,11 @@
 msgid "Cannot store client info\n"
 msgstr ""
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:105
 msgid "Yes"
 msgstr "Có"
 
-#: src/applications/vpn/vpn.c:1190
+#: src/applications/vpn/vpn.c:1190 src/setup/ncurses/wizard_curs.c:104
 msgid "No"
 msgstr "Không"
 
@@ -2363,12 +2363,12 @@
 msgid "Can't create semaphore: %i"
 msgstr "Không tạo được đèn tín hiệu: %i"
 
-#: src/util/os/statuscalls.c:176 src/util/os/statuscalls.c:254
+#: src/util/os/statuscalls.c:179 src/util/os/statuscalls.c:257
 #, fuzzy, c-format
 msgid "Failed to parse interface data from `%s'.\n"
 msgstr "Thất bại khi phân tích dữ liệu giao diện từ '%s' tại %s:%d.\n"
 
-#: src/util/os/statuscalls.c:296 src/util/os/statuscalls.c:305
+#: src/util/os/statuscalls.c:299 src/util/os/statuscalls.c:308
 #, fuzzy, c-format
 msgid ""
 "No network interfaces defined in configuration section `%s' under `%s'!\n"
@@ -2782,7 +2782,8 @@
 msgstr ""
 
 #: src/setup/ncurses/mconf.c:161 src/setup/ncurses/mconf.c:265
-#: src/setup/ncurses/mconf.c:370
+#: src/setup/ncurses/mconf.c:370 src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:191 src/setup/ncurses/wizard_curs.c:307
 msgid "Internal error! (Choice invalid?)"
 msgstr ""
 
@@ -2802,7 +2803,7 @@
 msgid "Value is not in legal range."
 msgstr ""
 
-#: src/setup/ncurses/mconf.c:413
+#: src/setup/ncurses/mconf.c:413 src/setup/ncurses/wizard_curs.c:562
 #, fuzzy
 msgid "GNUnet Configuration"
 msgstr "Cấu hình GNUnet"
@@ -2832,23 +2833,35 @@
 "Your configuration changes were NOT saved.\n"
 msgstr "Đã tạo (lại) các tập tin cấu hình.\n"
 
-#: src/setup/ncurses/wizard_curs.c:56 src/setup/lib/wizard_util.c:131
+#: src/setup/ncurses/wizard_curs.c:67 src/setup/lib/wizard_util.c:131
 #: src/setup/lib/wizard_util.c:176
 msgid "Error"
 msgstr "Lỗi"
 
-#: src/setup/ncurses/wizard_curs.c:120 src/setup/ncurses/wizard_curs.c:135
-#: src/setup/ncurses/wizard_curs.c:188 src/setup/ncurses/wizard_curs.c:225
-#: src/setup/ncurses/wizard_curs.c:255 src/setup/ncurses/wizard_curs.c:281
-#: src/setup/ncurses/wizard_curs.c:314 src/setup/ncurses/wizard_curs.c:341
-#: src/setup/ncurses/wizard_curs.c:373 src/setup/ncurses/wizard_curs.c:398
-#: src/setup/ncurses/wizard_curs.c:427 src/setup/ncurses/wizard_curs.c:450
-#: src/setup/ncurses/wizard_curs.c:505 src/setup/ncurses/wizard_curs.c:567
-#: src/setup/ncurses/wizard_curs.c:598 src/setup/ncurses/wizard_curs.c:642
+#: src/setup/ncurses/wizard_curs.c:77 src/setup/gtk/gconf.c:417
+msgid "Help"
+msgstr "Trợ giúp"
+
+#: src/setup/ncurses/wizard_curs.c:86
+#, fuzzy
+msgid "Error!"
+msgstr "Lỗi"
+
+#: src/setup/ncurses/wizard_curs.c:153
+#, fuzzy
+msgid "Abort"
+msgstr "_Nói về"
+
+#: src/setup/ncurses/wizard_curs.c:154
+msgid "Ok"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:222 src/setup/ncurses/wizard_curs.c:290
+#: src/setup/ncurses/wizard_curs.c:443
 msgid "GNUnet configuration"
 msgstr "Cấu hình GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:121
+#: src/setup/ncurses/wizard_curs.c:223
 #, fuzzy
 msgid ""
 "Welcome to GNUnet!\n"
@@ -2878,21 +2891,14 @@
 "\n"
 "đội GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:136
+#: src/setup/ncurses/wizard_curs.c:291
 msgid ""
 "Choose the network interface that connects your computer to the internet "
 "from the list below."
 msgstr ""
 "Chọn giao diện mạng kết nối máy tính tới internet từ danh sách dưới đây."
 
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:195
-#: src/setup/ncurses/wizard_curs.c:232 src/setup/ncurses/wizard_curs.c:287
-#: src/setup/ncurses/wizard_curs.c:319 src/setup/ncurses/wizard_curs.c:379
-#: src/setup/gtk/gconf.c:417
-msgid "Help"
-msgstr "Trợ giúp"
-
-#: src/setup/ncurses/wizard_curs.c:142 src/setup/ncurses/wizard_curs.c:196
+#: src/setup/ncurses/wizard_curs.c:312 src/setup/ncurses/wizard_curs.c:325
 msgid ""
 "The \"Network interface\" is the device that connects your computer to the "
 "internet. This is usually a modem, an ISDN card or a network card in case "
@@ -2901,31 +2907,63 @@
 "\"Giao diện mạng\" là thiết bị kết nối máy tính với internet. Đây thường là "
 "một môđem, một thẻ ISDN hay một thẻ mạng nếu dùng DSL."
 
-#: src/setup/ncurses/wizard_curs.c:189
+#: src/setup/ncurses/wizard_curs.c:323
+#, fuzzy
+msgid "Network configuration: interface"
+msgstr "Giao diện mạng:"
+
+#: src/setup/ncurses/wizard_curs.c:324
 msgid ""
 "What is the name of the network interface that connects your computer to the "
 "Internet?"
 msgstr "Tên của giao diện mạng kết nối máy tính tới Internet là gì?"
 
-#: src/setup/ncurses/wizard_curs.c:226
+#: src/setup/ncurses/wizard_curs.c:335
+#, fuzzy
+msgid "Network configuration: NAT"
+msgstr "Cấu hình GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:336
 msgid ""
-"What is this computer's public IP address or hostname?\n"
+"Is this machine behind NAT?\n"
 "\n"
-"If in doubt, leave this empty."
+"If you are connected to the internet through another computer doing SNAT, a "
+"router or a \"hardware firewall\" and other computers on the internet cannot "
+"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
+"connections through modems, ISDN cards and DNAT (also known as \"port "
+"forwarding\")."
 msgstr ""
+"Máy này nằm dưới NAT?\n"
+"\n"
+"Nếu kết nối internet qua một máy khác thực hiện SNAT, một bộ định tuyến "
+"router hay một \"phần cứng tường lửa\" và các máy khác trong internet không "
+"thể kết nối tới máy này, thì hãy chọn \"yes\". Trả lời \"no\" nếu kết nối "
+"thẳng qua môđem, thẻ ISDN, và DNAT (hay còng gọi là \"chuyển tiếp cổng\")."
+
+#: src/setup/ncurses/wizard_curs.c:349
+#, fuzzy
+msgid "Network configuration: IP"
+msgstr "Cấu hình GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:350
+#, fuzzy
+msgid "What is this computer's public IP address or hostname?"
+msgstr ""
 "Địa chỉ IP công cộng hoặc tên của máy tính này là gì?\n"
 "\n"
 "Nếu không biết, hãy để trống."
 
-#: src/setup/ncurses/wizard_curs.c:233
+#: src/setup/ncurses/wizard_curs.c:351
+#, fuzzy
 msgid ""
 "If your provider always assigns the same IP-Address to you (a \"static\" IP-"
 "Address), enter it into the \"IP-Address\" field. If your IP-Address changes "
 "every now and then (\"dynamic\" IP-Address) but there's a hostname that "
 "always points to your actual IP-Address (\"Dynamic DNS\"), you can also "
 "enter it here.\n"
-"If in doubt, leave the field empty. GNUnet will then try to determine your "
-"IP-Address."
+"If left empty, GNUnet will try to automatically detect the IP.\n"
+"You can specify a hostname, GNUnet will then use DNS to resolve it.\n"
+"If in doubt, leave this empty."
 msgstr ""
 "Nếu nhà cung cấp luôn luôn gán cùng một địa chỉ IP (một địa chỉ IP \"tĩnh"
 "\"), thì hãy nhập địa chỉ đó vào vùng \"IP-Address\". Nếu địa chỉ IP thay "
@@ -2935,36 +2973,26 @@
 "Nếu không biết phải làm gì, thì hãy để trống. GNUnet sẽ thử để nhận ra địa "
 "chỉ IP."
 
-#: src/setup/ncurses/wizard_curs.c:256
-msgid ""
-"Is this machine behind NAT?\n"
-"\n"
-"If you are connected to the internet through another computer doing SNAT, a "
-"router or a \"hardware firewall\" and other computers on the internet cannot "
-"connect to this computer, say \"yes\" here. Answer \"no\" on direct "
-"connections through modems, ISDN cards and DNAT (also known as \"port "
-"forwarding\")."
-msgstr ""
-"Máy này nằm dưới NAT?\n"
-"\n"
-"Nếu kết nối internet qua một máy khác thực hiện SNAT, một bộ định tuyến "
-"router hay một \"phần cứng tường lửa\" và các máy khác trong internet không "
-"thể kết nối tới máy này, thì hãy chọn \"yes\". Trả lời \"no\" nếu kết nối "
-"thẳng qua môđem, thẻ ISDN, và DNAT (hay còng gọi là \"chuyển tiếp cổng\")."
+#: src/setup/ncurses/wizard_curs.c:366
+#, fuzzy
+msgid "Bandwidth configuration: upload"
+msgstr "Cấu hình GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:282
-msgid "How much upstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:367
+#, fuzzy
+msgid "How much upstream bandwidth (in bytes/s) may be used?"
 msgstr "Tốc độ ra giới hạn là bao nhiêu (Byte/giây)?"
 
-#: src/setup/ncurses/wizard_curs.c:287
+#: src/setup/ncurses/wizard_curs.c:368
+#, fuzzy
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"upstream\" is the data channel through which data is *sent* to the "
-"internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate, you can set it to the maximum speed of your internet "
-"connection."
+"internet. The limit is the maximum amountwhich GNUnet is allowed to use. If "
+"you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 "Có thể giới hạn sử dụng tài nguyên của GNUnet ở đây.\n"
 "\n"
@@ -2973,19 +3001,26 @@
 "chỉ ra nó sau này. Nếu có tốc độ đều, thì có thể đặt thành tốc độ kết nối "
 "internet lớn nhất."
 
-#: src/setup/ncurses/wizard_curs.c:314
-msgid "How much downstream (Bytes/s) may be used?"
+#: src/setup/ncurses/wizard_curs.c:380
+#, fuzzy
+msgid "Bandwidth configuration: download"
+msgstr "Cấu hình GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:381
+#, fuzzy
+msgid "How much downstream bandwidth (in bytes/s) may be used?"
 msgstr "Dùng bao nhiêu (Byte/giây) cho dòng vào?"
 
-#: src/setup/ncurses/wizard_curs.c:320
+#: src/setup/ncurses/wizard_curs.c:382
+#, fuzzy
 msgid ""
 "You can limit GNUnet's resource usage here.\n"
 "\n"
 "The \"downstream\" is the data channel through which data is *received* from "
-"the internet. The limit is either the total maximum for this computer or how "
-"much GNUnet itself is allowed to use. You can specify that later. If you "
-"have a flatrate you can set it to the maximum speed of your internet "
-"connection."
+"the internet. The limit is the maximum amountwhich GNUnet is allowed to use. "
+"If you have a flatrate, you can set it to the maximum speed of your internet "
+"connection. You should not use a value that is higher than what your actual "
+"connection allows."
 msgstr ""
 "Có thể giới hạn sử dụng tài nguyên của GNUnet ở đây.\n"
 "\n"
@@ -2994,93 +3029,38 @@
 "chỉ ra nó sau này. Nếu có tốc độ đều, thì có thể đặt thành tốc độ kết nối "
 "internet lớn nhất."
 
-#: src/setup/ncurses/wizard_curs.c:342
-msgid ""
-"Share denoted bandwidth with other applications?\n"
-"\n"
-"Say \"yes\" here, if you don't want other network traffic to interfere with "
-"GNUnet's operation, but still wish to constrain GNUnet's bandwidth usage to "
-"values entered in the previous steps, or if you can't reliably measure the "
-"maximum capabilities of your connection. \"No\" can be very useful if other "
-"applications are causing a lot of traffic on your LAN.  In this case, you do "
-"not want to limit the traffic that GNUnet can inflict on your internet "
-"connection whenever your high-speed LAN gets used (e.g. by NFS)."
-msgstr ""
-"Chia sẻ băng thông chỉ ra với các ứng dụng khác?\n"
-"\n"
-"Chọn \"yes\", nếu không muốn các truyền tải mạng khác gây trở ngại đối với "
-"các thao tác của GNUnet, nhưng vẫn muốn bắt buộc dùng giá trị đã nhập trong "
-"các bước trước đây làm sử dụng băng thông của GNUnet, hoặc nếu người dùng "
-"không thể đo được khả năng lớn nhất của kết nối mạng. \"No\" có ích khi các "
-"ứng dụng khác dùng nhiều truyền tải trong mạng LAN.  Trong trường hợp này, "
-"người dùng không nên giới hạn truyền tải GNUnet phải chịu trên kết nối "
-"internet mỗi khi sử dụng LAN tốc độ cao (ví dụ bởi NFS)."
+#: src/setup/ncurses/wizard_curs.c:394
+#, fuzzy
+msgid "Quota configuration"
+msgstr "Cấu hình GNUnet"
 
-#: src/setup/ncurses/wizard_curs.c:374
-msgid "How much CPU (in %) may be used?"
-msgstr "Sử dụng bao nhiêu CPU (tính theo %)?"
-
-#: src/setup/ncurses/wizard_curs.c:380
-msgid ""
-"You can limit GNUnet's resource usage here.\n"
-"\n"
-"This is the percentage of processor time GNUnet is allowed to use."
+#: src/setup/ncurses/wizard_curs.c:395
+msgid "What is the maximum size of the datastore in MB?"
 msgstr ""
-"Có thể giới hạn nguồn sử dụng của GNUnet ở đây.\n"
-"\n"
-"Đây là phần trăm thời gian của bộ xử lý cho phép GNUnet sử dụng."
 
-#: src/setup/ncurses/wizard_curs.c:399
+#: src/setup/ncurses/wizard_curs.c:396
+#, fuzzy
 msgid ""
-"Store migrated content?\n"
-"\n"
-"GNUnet is able to store data from other peers in your datastore. This is "
-"useful if an adversary has access to your inserted content and you need to "
-"deny that the content is yours. With \"content migration\" on, the content "
-"could have \"migrated\" over the internet to your node without your "
-"knowledge.\n"
-"It also helps to spread popular content over different peers to enhance "
-"availability."
+"The GNUnet datastore contains all content that GNUnet needs to store "
+"(indexed, inserted and migrated content)."
 msgstr ""
-"Giữ nội dung nhập vào?\n"
-"\n"
-"GNUnet có thể chứa ghi nhớ dữ liệu từ các đầu peer khác trong kho dữ liệu. "
-"Tính năng này có ích nếu một đối tượng xấu truy cập tới nội dung đã chèn và "
-"người dùng cần loại bỏ nội dung đó. Khi \"nhập nội dung\" bật dùng, nội dung "
-"có thể \"nhập\" qua internet tới nút của người dùng mà người dùng không "
-"biết.\n"
-"Nó đồng thời giúp chia sẻ nội dung phổ biến qua các đầu peer khác nhau để dễ "
-"dàng truy cập."
-
-#: src/setup/ncurses/wizard_curs.c:428
-msgid ""
-"What's the maximum datastore size in MB?\n"
-"\n"
-"The GNUnet datastore contains all data that GNUnet generates (index data, "
-"inserted and migrated content)."
-msgstr ""
 "Kích thước lớn nhất của kho dữ liệu tính theo MB?\n"
 "\n"
 "Kho dữ liệu GNUnet chứa tất cả các dữ liệu GNUnet tạo ra (dữ liệu chỉ mục, "
 "nội dung chèn và nhập vào)."
 
-#: src/setup/ncurses/wizard_curs.c:451
-msgid ""
-"Do you want to launch GNUnet as a system service?\n"
-"\n"
-"If you say \"yes\" here, the GNUnet background process will be automatically "
-"started when you turn on your computer. If you say \"no\" here, you have to "
-"launch GNUnet yourself each time you want to use it."
+#: src/setup/ncurses/wizard_curs.c:409
+#, fuzzy
+msgid "Daemon configuration: user account"
+msgstr "Không tạo được tài khoản người dùng:"
+
+#: src/setup/ncurses/wizard_curs.c:410
+msgid "As which user should gnunetd be run?"
 msgstr ""
-"Chạy GNUnet như một dịch vụ hệ thống?\n"
-"\n"
-"Nếu chọn \"yes\", tiến trình nền sau GNUnet sẽ tự động chạy khi bật máy "
-"tính. Nếu chọn \"no\", thì cần chạy GNUnet mỗi khi muốn sử dụng."
 
-#: src/setup/ncurses/wizard_curs.c:506
+#: src/setup/ncurses/wizard_curs.c:411
+#, fuzzy
 msgid ""
-"Define the user owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new user "
 "account under which the GNUnet service is started at system startup.\n"
 "\n"
@@ -3088,9 +3068,7 @@
 "includes files you want to publish in GNUnet. You'll have to grant read "
 "permissions to the user specified below.\n"
 "\n"
-"Leave the fields empty to run GNUnet with system privileges.\n"
-"\n"
-"GNUnet user:"
+"Leave the field empty to run GNUnet with system privileges.\n"
 msgstr ""
 "Xác định người dùng sở hữu dịch vụ GNUnet.\n"
 "\n"
@@ -3104,10 +3082,17 @@
 "Để trống để chạy GNUnet với quyền hệ thống.\n"
 "Người dùng GNUnet:"
 
-#: src/setup/ncurses/wizard_curs.c:568
+#: src/setup/ncurses/wizard_curs.c:429
+msgid "Daemon configuration: group account"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:430
+msgid "As which group should gnunetd be run?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:431
+#, fuzzy
 msgid ""
-"Define the group owning the GNUnet service.\n"
-"\n"
 "For security reasons, it is a good idea to let this setup create a new group "
 "for the chosen user account.\n"
 "\n"
@@ -3115,8 +3100,6 @@
 "\n"
 "Only members of this group will be allowed to start and stop the the GNUnet "
 "server and have access to GNUnet server data.\n"
-"\n"
-"GNUnet group:"
 msgstr ""
 "Xác định nhóm sở hữu dịch vụ GNUnet.\n"
 "\n"
@@ -3130,53 +3113,69 @@
 "\n"
 "Nhóm GNUnet:"
 
-#: src/setup/ncurses/wizard_curs.c:599
+#: src/setup/ncurses/wizard_curs.c:444
+msgid "Do you want to automatically launch GNUnet as a system service?"
+msgstr ""
+
+#: src/setup/ncurses/wizard_curs.c:445
+#, fuzzy
 msgid ""
-"If you are an experienced user, you may want to tweak your GNUnet "
-"installation using the enhanced configurator.\n"
-"\n"
-"Do you want to start it after saving your configuration?"
+"If you say \"yes\" here, the GNUnet background process will be automatically "
+"started when you turn on your computer. If you say \"no\" here, you have to "
+"launch GNUnet yourself each time you want to use it."
 msgstr ""
-"Nếu là một người dùng có kinh nghiệm, bạn có thể sửa đổi cấu hình của GNUnet "
-"bẳng trình cấu hình nâng cấp.\n"
+"Chạy GNUnet như một dịch vụ hệ thống?\n"
 "\n"
-"Chạy nó sau khi ghi cấu hình?"
+"Nếu chọn \"yes\", tiến trình nền sau GNUnet sẽ tự động chạy khi bật máy "
+"tính. Nếu chọn \"no\", thì cần chạy GNUnet mỗi khi muốn sử dụng."
 
-#: src/setup/ncurses/wizard_curs.c:620 src/setup/gtk/wizard_gtk.c:473
-msgid "Unable to create user account:"
+#: src/setup/ncurses/wizard_curs.c:466 src/setup/gtk/wizard_gtk.c:428
+#, fuzzy, c-format
+msgid "Unable to save configuration file `%s':"
+msgstr "Không ghi được tập tin cấu hình %s:"
+
+#: src/setup/ncurses/wizard_curs.c:493
+#, fuzzy
+msgid "Unable to create user account for daemon."
 msgstr "Không tạo được tài khoản người dùng:"
 
-#: src/setup/ncurses/wizard_curs.c:623 src/setup/gtk/wizard_gtk.c:480
-msgid "Unable to change startup process:"
-msgstr "Không thay đổi được tiến trình khởi động:"
-
-#: src/setup/ncurses/wizard_curs.c:636
-#, c-format
-msgid ""
-"Unable to save configuration file %s: %s.\n"
-"\n"
-"Try again?"
+#: src/setup/ncurses/wizard_curs.c:507
+msgid "Unable to setup autostart for daemon."
 msgstr ""
-"Không ghi nhớ được tập tin cấu hình %s: %s.\n"
-"\n"
-"Thử lại?"
 
+#: src/setup/ncurses/wizard_curs.c:521
+#, fuzzy
+msgid "Save configuration?"
+msgstr "Cấu hình GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:522
+#, fuzzy
+msgid "Save configuration now?"
+msgstr "Cấu hình GNUnet"
+
+#: src/setup/ncurses/wizard_curs.c:566
+msgid "Back"
+msgstr "Quay lại"
+
 #: src/setup/gtk/wizard_gtk.c:145
 #, fuzzy
 msgid "(unknown connection)"
 msgstr "Kết nối mạng"
 
-#: src/setup/gtk/wizard_gtk.c:422
-#, fuzzy, c-format
-msgid "Unable to save configuration file `%s':"
-msgstr "Không ghi được tập tin cấu hình %s:"
-
-#: src/setup/gtk/wizard_gtk.c:444
+#: src/setup/gtk/wizard_gtk.c:450
 #, fuzzy
 msgid "Do you want to save the new configuration?"
 msgstr "Ghi thiết lập?"
 
-#: src/setup/gtk/wizard_gtk.c:496
+#: src/setup/gtk/wizard_gtk.c:480
+msgid "Unable to create user account:"
+msgstr "Không tạo được tài khoản người dùng:"
+
+#: src/setup/gtk/wizard_gtk.c:490
+msgid "Unable to change startup process:"
+msgstr "Không thay đổi được tiến trình khởi động:"
+
+#: src/setup/gtk/wizard_gtk.c:505
 msgid ""
 "Running gnunet-update failed.\n"
 "This maybe due to insufficient permissions, please check your "
@@ -3567,17 +3566,17 @@
 msgid "MTU for `%s' is probably too low (fragmentation not implemented!)\n"
 msgstr "MTU cho '%s' có thể quá thấp (chưa phát triển sự phân mảnh!)\n"
 
-#: src/transports/tcp_old.c:1256
+#: src/transports/tcp_old.c:1258
 #, fuzzy
 msgid "# bytes received via TCP-OLD"
 msgstr "# byte nhận được qua TCP"
 
-#: src/transports/tcp_old.c:1258
+#: src/transports/tcp_old.c:1260
 #, fuzzy
 msgid "# bytes sent via TCP-OLD"
 msgstr "# Byte gửi qua TCP"
 
-#: src/transports/tcp_old.c:1260
+#: src/transports/tcp_old.c:1262
 #, fuzzy
 msgid "# bytes dropped by TCP-OLD (outgoing)"
 msgstr "# byte loại đi bởi TCP (đi ra)"
@@ -3709,67 +3708,75 @@
 msgid "%s failed, message type %d already in use.\n"
 msgstr "%s thất bại, dạng thông báo %d đã sử dụng.\n"
 
-#: src/server/connection.c:1024
+#: src/server/connection.c:1114
 #, fuzzy, c-format
 msgid "`%s' selected %d out of %d messages (MTU: %d).\n"
 msgstr "'%s' đã chọn %d vượt quá %d thông báo (MTU: %d).\n"
 
-#: src/server/connection.c:1033
+#: src/server/connection.c:1123
 #, c-format
 msgid "Message details: %u: length %d, priority: %d\n"
 msgstr "Chi tiết về thông báo: %u: dài %d, ưu tiên: %d\n"
 
-#: src/server/connection.c:2419
+#: src/server/connection.c:2529
 #, fuzzy, c-format
 msgid "Message from `%s' discarded: invalid format.\n"
 msgstr "Bỏ đi thông báo từ '%s': định dạng sai.\n"
 
-#: src/server/connection.c:2491
+#: src/server/connection.c:2607
 #, c-format
 msgid "Invalid sequence number %u <= %u, dropping message.\n"
 msgstr "Số của chuỗi sai %u <= %u, đang bỏ đi thông báo.\n"
 
-#: src/server/connection.c:2508
+#: src/server/connection.c:2624
 msgid "Message received more than one day old. Dropped.\n"
 msgstr "Thông báo nhận được cũ hơn một ngày. Đã loại bỏ.\n"
 
-#: src/server/connection.c:2937
+#: src/server/connection.c:3063
 msgid "# outgoing messages dropped"
 msgstr "# thông báo đi ra đã loại bỏ"
 
-#: src/server/connection.c:2941
+#: src/server/connection.c:3067
 msgid "# bytes of outgoing messages dropped"
 msgstr "# byte của các thông báo đi ra đã loại bỏ"
 
-#: src/server/connection.c:2943
+#: src/server/connection.c:3069
 msgid "# connections closed (HANGUP sent)"
 msgstr "# các kết nối đã đóng (gửi HANGUP)"
 
-#: src/server/connection.c:2946
+#: src/server/connection.c:3072
 #, fuzzy
 msgid "# bytes encrypted"
 msgstr "# byte nhận được của dạng %d"
 
-#: src/server/connection.c:2950
+#: src/server/connection.c:3076
 #, fuzzy
 msgid "# bytes transmitted"
 msgstr "# byte đã truyền của dạng %d"
 
-#: src/server/connection.c:2954
+#: src/server/connection.c:3080
 #, fuzzy
 msgid "# bytes received"
 msgstr "# byte nhận được qua TCP"
 
-#: src/server/connection.c:2956
+#: src/server/connection.c:3083
 #, fuzzy
 msgid "# bytes decrypted"
 msgstr "# byte nhận được của dạng %d"
 
-#: src/server/connection.c:2957
+#: src/server/connection.c:3085
 #, fuzzy
 msgid "# bytes noise sent"
 msgstr "# byte nhận được do nhiễu đường truyền"
 
+#: src/server/connection.c:3087
+msgid "# total advertised bytes per second received limit"
+msgstr ""
+
+#: src/server/connection.c:3089
+msgid "# total allowed bytes per second transmission limit"
+msgstr ""
+
 #: src/server/version.c:152
 msgid ""
 "Failed to determine filename used to store GNUnet version information!\n"
@@ -4056,6 +4063,81 @@
 msgid "specify host on which gnunetd is running"
 msgstr "chỉ ra máy đang chạy gnunetd"
 
+#~ msgid ""
+#~ "Share denoted bandwidth with other applications?\n"
+#~ "\n"
+#~ "Say \"yes\" here, if you don't want other network traffic to interfere "
+#~ "with GNUnet's operation, but still wish to constrain GNUnet's bandwidth "
+#~ "usage to values entered in the previous steps, or if you can't reliably "
+#~ "measure the maximum capabilities of your connection. \"No\" can be very "
+#~ "useful if other applications are causing a lot of traffic on your LAN.  "
+#~ "In this case, you do not want to limit the traffic that GNUnet can "
+#~ "inflict on your internet connection whenever your high-speed LAN gets "
+#~ "used (e.g. by NFS)."
+#~ msgstr ""
+#~ "Chia sẻ băng thông chỉ ra với các ứng dụng khác?\n"
+#~ "\n"
+#~ "Chọn \"yes\", nếu không muốn các truyền tải mạng khác gây trở ngại đối "
+#~ "với các thao tác của GNUnet, nhưng vẫn muốn bắt buộc dùng giá trị đã nhập "
+#~ "trong các bước trước đây làm sử dụng băng thông của GNUnet, hoặc nếu "
+#~ "người dùng không thể đo được khả năng lớn nhất của kết nối mạng. \"No\" "
+#~ "có ích khi các ứng dụng khác dùng nhiều truyền tải trong mạng LAN.  Trong "
+#~ "trường hợp này, người dùng không nên giới hạn truyền tải GNUnet phải chịu "
+#~ "trên kết nối internet mỗi khi sử dụng LAN tốc độ cao (ví dụ bởi NFS)."
+
+#~ msgid "How much CPU (in %) may be used?"
+#~ msgstr "Sử dụng bao nhiêu CPU (tính theo %)?"
+
+#~ msgid ""
+#~ "You can limit GNUnet's resource usage here.\n"
+#~ "\n"
+#~ "This is the percentage of processor time GNUnet is allowed to use."
+#~ msgstr ""
+#~ "Có thể giới hạn nguồn sử dụng của GNUnet ở đây.\n"
+#~ "\n"
+#~ "Đây là phần trăm thời gian của bộ xử lý cho phép GNUnet sử dụng."
+
+#~ msgid ""
+#~ "Store migrated content?\n"
+#~ "\n"
+#~ "GNUnet is able to store data from other peers in your datastore. This is "
+#~ "useful if an adversary has access to your inserted content and you need "
+#~ "to deny that the content is yours. With \"content migration\" on, the "
+#~ "content could have \"migrated\" over the internet to your node without "
+#~ "your knowledge.\n"
+#~ "It also helps to spread popular content over different peers to enhance "
+#~ "availability."
+#~ msgstr ""
+#~ "Giữ nội dung nhập vào?\n"
+#~ "\n"
+#~ "GNUnet có thể chứa ghi nhớ dữ liệu từ các đầu peer khác trong kho dữ "
+#~ "liệu. Tính năng này có ích nếu một đối tượng xấu truy cập tới nội dung đã "
+#~ "chèn và người dùng cần loại bỏ nội dung đó. Khi \"nhập nội dung\" bật "
+#~ "dùng, nội dung có thể \"nhập\" qua internet tới nút của người dùng mà "
+#~ "người dùng không biết.\n"
+#~ "Nó đồng thời giúp chia sẻ nội dung phổ biến qua các đầu peer khác nhau để "
+#~ "dễ dàng truy cập."
+
+#~ msgid ""
+#~ "If you are an experienced user, you may want to tweak your GNUnet "
+#~ "installation using the enhanced configurator.\n"
+#~ "\n"
+#~ "Do you want to start it after saving your configuration?"
+#~ msgstr ""
+#~ "Nếu là một người dùng có kinh nghiệm, bạn có thể sửa đổi cấu hình của "
+#~ "GNUnet bẳng trình cấu hình nâng cấp.\n"
+#~ "\n"
+#~ "Chạy nó sau khi ghi cấu hình?"
+
+#~ msgid ""
+#~ "Unable to save configuration file %s: %s.\n"
+#~ "\n"
+#~ "Try again?"
+#~ msgstr ""
+#~ "Không ghi nhớ được tập tin cấu hình %s: %s.\n"
+#~ "\n"
+#~ "Thử lại?"
+
 #, fuzzy
 #~ msgid "No help available."
 #~ msgstr "'%s' không phải là một tập tin thông thường.\n"
@@ -4065,10 +4147,6 @@
 #~ msgstr "Hiển thị tùy chọn che giấu"
 
 #, fuzzy
-#~ msgid "Meta-configuration"
-#~ msgstr "Cấu hình GNUnet"
-
-#, fuzzy
 #~ msgid "Full pathname of GNUnet HOME directory"
 #~ msgstr "Lỗi định dạng tập tin (không phải một thư mục GNUnet?)\n"
 
@@ -4099,10 +4177,6 @@
 #~ msgstr "Tùy _chọn"
 
 #, fuzzy
-#~ msgid "Network interface"
-#~ msgstr "Giao diện mạng:"
-
-#, fuzzy
 #~ msgid "Network interface to monitor"
 #~ msgstr "Giao diện mạng:"
 
@@ -4717,9 +4791,6 @@
 #~ msgid "Load limitation"
 #~ msgstr "Giới hạn nạp"
 
-#~ msgid "Back"
-#~ msgstr "Quay lại"
-
 #, fuzzy
 #~ msgid ""
 #~ "GNUnet is able to store data from other peers in your datastore. This is "

Modified: GNUnet/src/applications/dht/module/dstore.c
===================================================================
--- GNUnet/src/applications/dht/module/dstore.c 2006-12-13 19:40:06 UTC (rev 
3935)
+++ GNUnet/src/applications/dht/module/dstore.c 2006-12-14 04:25:13 UTC (rev 
3936)
@@ -56,11 +56,11 @@
                   const char * data) {
   if (discard_time < get_time())
     return;
-  return dstore->put(key,
-                    type,
-                    discard_time,
-                    size,
-                    data);
+  dstore->put(key,
+             type,
+             discard_time,
+             size,
+             data);
 }
   
 /**

Modified: GNUnet/src/applications/dstore/dstore.c
===================================================================
--- GNUnet/src/applications/dstore/dstore.c     2006-12-13 19:40:06 UTC (rev 
3935)
+++ GNUnet/src/applications/dstore/dstore.c     2006-12-14 04:25:13 UTC (rev 
3936)
@@ -62,12 +62,11 @@
                      const char *zSql,       /* SQL statement, UTF-8 encoded */
                      sqlite3_stmt **ppStmt) {  /* OUT: Statement handle */
   char * dummy;
-  sqlite3_prepare(dbh,
+  return sqlite3_prepare(dbh,
                  zSql,
                  strlen(zSql),
                  ppStmt,
                  (const char**) &dummy);
-  return OK;
 }
 
 static void db_reset() {

Modified: GNUnet/src/include/gnunet_util.h
===================================================================
--- GNUnet/src/include/gnunet_util.h    2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/src/include/gnunet_util.h    2006-12-14 04:25:13 UTC (rev 3936)
@@ -75,7 +75,7 @@
  * especially the least significant bits may change
  * frequently, even between different SVN versions.
  */
-#define GNUNET_UTIL_VERSION 0x00070101
+#define GNUNET_UTIL_VERSION 0x00070102
 
 #if 0 /* keep Emacsens' auto-indent happy */
 {

Modified: GNUnet/src/transports/tcp.c
===================================================================
--- GNUnet/src/transports/tcp.c 2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/src/transports/tcp.c 2006-12-14 04:25:13 UTC (rev 3936)
@@ -70,6 +70,8 @@
 
 static struct CIDRNetwork * filteredNetworks_;
 
+static struct CIDRNetwork * allowedNetworks_;
+
 static struct GC_Configuration * cfg;
 
 static struct MUTEX * tcpblacklistlock;
@@ -101,6 +103,44 @@
 }
 
 /**
+ * Check if we are allowed to connect to the given IP.
+ */
+static int isWhitelisted(const void * addr,
+                        unsigned int addr_len) {
+  IPaddr ip;
+  int ret;
+
+  if (addr_len == sizeof(struct sockaddr_in)) {
+    memcpy(&ip,
+          &((struct sockaddr_in*) addr)->sin_addr,
+          sizeof(IPaddr));
+  } else if (addr_len == sizeof(IPaddr)) {
+    memcpy(&ip,
+          addr,
+          addr_len);
+  } else {
+    return SYSERR;
+  }
+  ret = OK;
+  MUTEX_LOCK(tcpblacklistlock);
+  if (allowedNetworks_ != NULL)
+    ret = check_ipv4_listed(allowedNetworks_,
+                           ip);
+  MUTEX_UNLOCK(tcpblacklistlock);
+  return ret;
+}
+
+static int isRejected(const void * addr,
+                     unsigned int addr_len) {
+  if ((YES == isBlacklisted(addr,
+                           addr_len)) ||
+      (YES != isWhitelisted(addr, 
+                           addr_len))) 
+    return YES;
+  return NO;
+}
+
+/**
  * Get the GNUnet UDP port from the configuration,
  * or from /etc/services if it is not specified in
  * the config file.
@@ -142,6 +182,8 @@
        (ntohs(helo->header.type) != p2p_PROTO_hello) ||
        (ntohs(helo->protocol) != TCP_PROTOCOL_NUMBER) ||
        (YES == isBlacklisted(&haddr->ip,
+                            sizeof(IPaddr))) ||
+       (YES != isWhitelisted(&haddr->ip,
                             sizeof(IPaddr))) )
     return SYSERR; /* obviously invalid */
   else
@@ -341,7 +383,7 @@
                           &select_message_handler,
                           NULL,
                           &select_accept_handler,
-                          &isBlacklisted,
+                          &isRejected,
                           &select_close_handler,
                           NULL,
                           0 /* memory quota */ );
@@ -364,6 +406,7 @@
        
   MUTEX_LOCK(tcpblacklistlock);
   FREENONNULL(filteredNetworks_);
+  FREENONNULL(allowedNetworks_);
   ch = NULL;
   GC_get_configuration_value_string(cfg,
                                    "TCP",
@@ -373,6 +416,18 @@
   filteredNetworks_ = parse_ipv4_network_specification(ectx,
                                                       ch);
   FREE(ch);
+  ch = NULL;
+  GC_get_configuration_value_string(cfg,
+                                   "TCP",
+                                   "WHITELIST",
+                                   "",
+                                   &ch);
+  if (strlen(ch) > 0)
+    allowedNetworks_ = parse_ipv4_network_specification(ectx,
+                                                       ch);
+  else
+    allowedNetworks_ = NULL;
+  FREE(ch);
   MUTEX_UNLOCK(tcpblacklistlock);
   /* TODO: error handling! */
   return 0;
@@ -454,6 +509,7 @@
   coreAPI->releaseService(stats);
   stats = NULL;
   FREENONNULL(filteredNetworks_);
+  FREENONNULL(allowedNetworks_);
   MUTEX_DESTROY(tcplock);
   MUTEX_DESTROY(tcpblacklistlock);
 }

Modified: GNUnet/src/transports/tcp6.c
===================================================================
--- GNUnet/src/transports/tcp6.c        2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/src/transports/tcp6.c        2006-12-14 04:25:13 UTC (rev 3936)
@@ -70,6 +70,8 @@
 
 static struct CIDR6Network * filteredNetworks_;
 
+static struct CIDR6Network * allowedNetworks_;
+
 static struct GC_Configuration * cfg;
 
 static struct MUTEX * tcpblacklistlock;
@@ -103,6 +105,44 @@
 }
 
 /**
+ * Check if we are allowed to connect to the given IP.
+ */
+static int isWhitelisted(const void * addr,
+                        unsigned int addr_len) {
+  IP6addr ip;
+  int ret;
+
+  if (addr_len == sizeof(IP6addr)) {
+    memcpy(&ip,
+          addr,
+          sizeof(IP6addr));
+  } else if (addr_len == sizeof(struct sockaddr_in6)) {
+    memcpy(&ip,
+          &((struct sockaddr_in6*) addr)->sin6_addr,
+          sizeof(IP6addr));
+  } else {
+    return SYSERR;
+  }
+  ret = OK;
+  MUTEX_LOCK(tcpblacklistlock);
+  if (allowedNetworks_ != NULL)
+    ret = check_ipv6_listed(filteredNetworks_,
+                           ip);
+  MUTEX_UNLOCK(tcpblacklistlock);
+  return ret;
+}
+
+static int isRejected(const void * addr,
+                     unsigned int addr_len) {
+  if ((YES == isBlacklisted(addr,
+                           addr_len)) ||
+      (YES != isWhitelisted(addr, 
+                           addr_len))) 
+    return YES;
+  return NO;
+}
+
+/**
  * Get the GNUnet UDP port from the configuration,
  * or from /etc/services if it is not specified in
  * the config file.
@@ -144,6 +184,8 @@
        (ntohs(helo->header.type) != p2p_PROTO_hello) ||
        (ntohs(helo->protocol) != TCP6_PROTOCOL_NUMBER) ||
        (YES == isBlacklisted(&haddr->ip,
+                            sizeof(IP6addr))) ||
+       (YES != isWhitelisted(&haddr->ip,
                             sizeof(IP6addr))) )
     return SYSERR; /* obviously invalid */
   else
@@ -351,7 +393,7 @@
                           &select_message_handler,
                           NULL,
                           &select_accept_handler,
-                          &isBlacklisted,
+                          &isRejected,
                           &select_close_handler,
                           NULL,
                           0 /* memory quota */ );
@@ -373,18 +415,27 @@
     return 0; /* fast path */
   MUTEX_LOCK(tcpblacklistlock);
   FREENONNULL(filteredNetworks_);
-  if (0 != GC_get_configuration_value_string(cfg,
-                                            "TCP",
-                                            "BLACKLIST",
-                                            NULL,
-                                            &ch))
-    filteredNetworks_ = parse_ipv6_network_specification(ectx,
-                                                        "");
-  else {
-    filteredNetworks_ = parse_ipv6_network_specification(ectx,
-                                                        ch);
-    FREE(ch);
-  }
+  FREENONNULL(allowedNetworks_);
+  GC_get_configuration_value_string(cfg,
+                                   "TCP6",
+                                   "BLACKLIST",
+                                   "",
+                                   &ch);
+  filteredNetworks_ = parse_ipv6_network_specification(ectx,
+                                                      ch);
+  FREE(ch);
+  GC_get_configuration_value_string(cfg,
+                                   "TCP6",
+                                   "WHITELIST",
+                                   "",
+                                   &ch);
+  if (strlen(ch) > 0)
+    allowedNetworks_ = parse_ipv6_network_specification(ectx,
+                                                       ch);
+  else
+    allowedNetworks_ = NULL;
+  FREE(ch);
+  
   MUTEX_UNLOCK(tcpblacklistlock);
   return 0;
 }

Modified: GNUnet/src/transports/udp.c
===================================================================
--- GNUnet/src/transports/udp.c 2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/src/transports/udp.c 2006-12-14 04:25:13 UTC (rev 3936)
@@ -62,6 +62,8 @@
 
 static struct CIDRNetwork * filteredNetworks_;
 
+static struct CIDRNetwork * allowedNetworks_;
+
 static struct MUTEX * configLock;
 
 /**
@@ -168,6 +170,45 @@
 }
 
 /**
+ * Check if we are allowed to connect to the given IP.
+ */
+static int isWhitelisted(const void * addr,
+                        unsigned int addr_len) {
+  IPaddr ip;
+  int ret;
+
+  if (addr_len == sizeof(struct sockaddr_in)) {
+    memcpy(&ip,
+          &((struct sockaddr_in*) addr)->sin_addr,
+          sizeof(IPaddr));
+  } else if (addr_len == sizeof(IPaddr)) {
+    memcpy(&ip,
+          addr,
+          addr_len);
+  } else {
+    return SYSERR;
+  }
+  ret = OK;
+  MUTEX_LOCK(configLock);
+  if (allowedNetworks_ != NULL)
+    ret = check_ipv4_listed(allowedNetworks_,
+                           ip);
+  MUTEX_UNLOCK(configLock);
+  return ret;
+}
+
+static int isRejected(const void * addr,
+                     unsigned int addr_len) {
+  if ((YES == isBlacklisted(addr,
+                           addr_len)) ||
+      (YES != isWhitelisted(addr, 
+                           addr_len))) 
+    return YES;
+  return NO;
+}
+
+
+/**
  * Verify that a hello-Message is correct (a node is reachable at that
  * address). Since the reply will be asynchronous, a method must be
  * called on success.
@@ -184,6 +225,8 @@
        (ntohs(helo->header.size) != P2P_hello_MESSAGE_size(helo)) ||
        (ntohs(helo->header.type) != p2p_PROTO_hello) ||
        (YES == isBlacklisted(&haddr->senderIP,
+                            sizeof(IPaddr))) ||
+       (YES != isWhitelisted(&haddr->senderIP,
                             sizeof(IPaddr))) )
     return SYSERR; /* obviously invalid */
   else {
@@ -350,7 +393,7 @@
                             &select_message_handler,
                             NULL,
                             &select_accept_handler,
-                            &isBlacklisted,
+                            &isRejected,
                             &select_close_handler,
                             NULL,
                             0 /* memory quota */ );
@@ -381,6 +424,7 @@
 
   MUTEX_LOCK(configLock);
   FREENONNULL(filteredNetworks_);
+  FREENONNULL(allowedNetworks_);
   ch = NULL;
   GC_get_configuration_value_string(cfg,
                                    "UDP",
@@ -390,6 +434,18 @@
   filteredNetworks_ = parse_ipv4_network_specification(ectx,
                                                       ch);
   FREE(ch);
+  ch = NULL;
+  GC_get_configuration_value_string(cfg,
+                                   "UDP",
+                                   "WHITELIST",
+                                   "",
+                                   &ch);
+  if (strlen(ch) > 0) 
+    allowedNetworks_ = parse_ipv4_network_specification(ectx,
+                                                       ch);
+  else
+    allowedNetworks_ = NULL;
+  FREE(ch);
   MUTEX_UNLOCK(configLock);
   return 0;
 }

Modified: GNUnet/src/transports/udp6.c
===================================================================
--- GNUnet/src/transports/udp6.c        2006-12-13 19:40:06 UTC (rev 3935)
+++ GNUnet/src/transports/udp6.c        2006-12-14 04:25:13 UTC (rev 3936)
@@ -62,8 +62,10 @@
 
 static struct LoadMonitor * load_monitor;
 
-static struct CIDR6Network * filteredNetworks_ = NULL;
+static struct CIDR6Network * filteredNetworks_;
 
+static struct CIDR6Network * allowedNetworks_;
+
 static struct MUTEX * configLock;
 
 /**
@@ -159,6 +161,46 @@
   return ret;
 }
 
+/**
+ * Check if we are allowed to connect to the given IP.
+ */
+static int isWhitelisted(const void * addr,
+                        unsigned int addr_len) {
+  IP6addr ip;
+  int ret;
+
+  if (addr_len == sizeof(IP6addr)) {
+    memcpy(&ip,
+          addr,
+          sizeof(IP6addr));
+  } else if (addr_len == sizeof(struct sockaddr_in6)) {
+    memcpy(&ip,
+          &((struct sockaddr_in6*) addr)->sin6_addr,
+          sizeof(IP6addr));
+  } else {
+    return SYSERR;
+  }
+  ret = OK;
+  MUTEX_LOCK(configLock);
+  if (allowedNetworks_ != NULL)
+    ret = check_ipv6_listed(filteredNetworks_,
+                           ip);
+  MUTEX_UNLOCK(configLock);
+  return ret;
+}
+
+
+static int isRejected(const void * addr,
+                     unsigned int addr_len) {
+  if ((YES == isBlacklisted(addr,
+                           addr_len)) ||
+      (YES != isWhitelisted(addr, 
+                           addr_len))) 
+    return YES;
+  return NO;
+}
+
+
 /* *************** API implementation *************** */
 
 /**
@@ -178,6 +220,8 @@
        (ntohs(helo->header.size) != P2P_hello_MESSAGE_size(helo)) ||
        (ntohs(helo->header.type) != p2p_PROTO_hello) ||
        (YES == isBlacklisted(&haddr->senderIP,
+                            sizeof(IP6addr))) ||
+       (YES != isWhitelisted(&haddr->senderIP,
                             sizeof(IP6addr))) )
     return SYSERR; /* obviously invalid */
   else {
@@ -342,7 +386,7 @@
                             &select_message_handler,
                             NULL,
                             &select_accept_handler,
-                            &isBlacklisted,
+                            &isRejected,
                             &select_close_handler,
                             NULL,
                             0 /* memory quota */ );
@@ -372,18 +416,25 @@
 
   MUTEX_LOCK(configLock);
   FREENONNULL(filteredNetworks_);
-  if (0 != GC_get_configuration_value_string(cfg,
-                                            "UDP6",
-                                            "BLACKLIST",
-                                            NULL,
-                                            &ch))
-    filteredNetworks_ = parse_ipv6_network_specification(ectx,
-                                                        "");
-  else {
-    filteredNetworks_ = parse_ipv6_network_specification(ectx,
-                                                        ch);
-    FREE(ch);
-  }
+  GC_get_configuration_value_string(cfg,
+                                   "UDP6",
+                                   "BLACKLIST",
+                                   "",
+                                   &ch);
+  filteredNetworks_ = parse_ipv6_network_specification(ectx,
+                                                      ch);
+  FREE(ch);
+  GC_get_configuration_value_string(cfg,
+                                   "UDP6",
+                                   "WHITELIST",
+                                   "",
+                                   &ch);
+  if (strlen(ch) > 0)
+    allowedNetworks_ = parse_ipv6_network_specification(ectx,
+                                                       ch);
+  else
+    allowedNetworks_ = NULL;
+  FREE(ch);
   MUTEX_UNLOCK(configLock);
   return 0;
 }





reply via email to

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