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

[commits] r4271 - in /fsf/trunk/libc: ./ po/ posix/ sysdeps/posix/



Author: eglibc
Date: Tue Nov 20 00:03:48 2007
New Revision: 4271

Log:
Import glibc-mainline for 2007-11-20

Added:
    fsf/trunk/libc/posix/tst-rfc3484-3.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/po/tr.po
    fsf/trunk/libc/posix/Makefile
    fsf/trunk/libc/posix/gai.conf
    fsf/trunk/libc/posix/tst-rfc3484-2.c
    fsf/trunk/libc/posix/tst-rfc3484.c
    fsf/trunk/libc/sysdeps/posix/getaddrinfo.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Nov 20 00:03:48 2007
@@ -1,3 +1,25 @@
+2007-11-19  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/posix/getaddrinfo.c (defaults_scopes, scopes): New variables.
+	(get_scope): For IPv4 scope, use scopes table.
+	(fini): Free scopes table if necessary.
+	(free_scopelist): New function.
+	(scopecmp): New function.
+	(gaiconf_init): Also handle scopev4 entries.
+	* posix/tst-rfc3484.c (do_test): Initialize scopes.
+	* posix/tst-rfc3484-2.c (do_test): Likewise.
+	* posix/gai.conf: Document scopev4 defaults.
+	* posix/Makefile (tests): Add tst-rfc3484-3.
+	* posix/tst-rfc3484-3.c: New file.
+
+	* sysdeps/posix/getaddrinfo.c (default_labels): Describe entry for
+	Teredo tunnels.
+	* posix/gai.conf: Update for current default tables.
+
+2007-11-19  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/tr.po: Update from translation team.
+
 2007-11-18  Roland McGrath  <roland@xxxxxxxx>
 
 	* manual/arith.texi (Remainder Functions): Spelling fix.

Modified: fsf/trunk/libc/po/tr.po
==============================================================================
--- fsf/trunk/libc/po/tr.po (original)
+++ fsf/trunk/libc/po/tr.po Tue Nov 20 00:03:48 2007
@@ -5,9 +5,9 @@
 # Onur Tolga ÅžehitoÄŸlu <onur@xxxxxxxxxxxxxxxx>, 1998.
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.6.1\n"
-"POT-Creation-Date: 2007-08-04 11:37+0200\n"
-"PO-Revision-Date: 2007-08-04 16:10+0300\n"
+"Project-Id-Version: libc 2.7\n"
+"POT-Creation-Date: 2007-10-15 21:18-0700\n"
+"PO-Revision-Date: 2007-11-19 11:17+0200\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@xxxxxxxxxxxxxxx>\n"
 "Language-Team: Turkish <gnu-tr-u12a@xxxxxxxxxxxxxxxxxxxxx>\n"
 "MIME-Version: 1.0\n"
@@ -57,7 +57,7 @@
 msgid "Report bugs to %s.\n"
 msgstr ""
 "Yazılım hatalarını %s adresine\n"
-"çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz.\n"
+"çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz.\n"
 
 #: argp/argp-parse.c:102
 msgid "Give this help list"
@@ -134,7 +134,7 @@
 "-o ÇIKTI-DOSYASI [GİRDİ-DOSYASI]...\n"
 "[ÇIKTI-DOSYASI [GİRDİ-DOSYASI]...]"
 
-#: catgets/gencat.c:232 debug/pcprofiledump.c:199 iconv/iconv_prog.c:411
+#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:411
 #: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
 #: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
 msgid ""
@@ -143,9 +143,9 @@
 msgstr ""
 "Yazılım hatalarını raporlama işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz.\n"
-
-#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:287
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz.\n"
+
+#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:296
 #: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:426
 #: iconv/iconvconfig.c:395 locale/programs/locale.c:275
 #: locale/programs/localedef.c:387 login/programs/pt_chown.c:59
@@ -162,7 +162,7 @@
 "HİÇBİR garanti yoktur; hatta SATILABİLİRLİĞİ veya ŞAHSİ KULLANIMINIZA\n"
 "UYGUNLUĞU için bile garanti verilmez.\n"
 
-#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:292 elf/sprof.c:361
+#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
 #: iconv/iconv_prog.c:431 iconv/iconvconfig.c:400 locale/programs/locale.c:280
 #: locale/programs/localedef.c:392 malloc/memusage.sh:75 nscd/nscd.c:411
 #: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1017
@@ -254,29 +254,29 @@
 msgid "cannot determine escape character"
 msgstr "öncelem karakteri saptanamıyor"
 
-#: debug/pcprofiledump.c:52
+#: debug/pcprofiledump.c:53
 msgid "Don't buffer output"
 msgstr "Tampon çıktılanmaz"
 
-#: debug/pcprofiledump.c:57
+#: debug/pcprofiledump.c:58
 msgid "Dump information generated by PC profiling."
 msgstr "Ãœretilen PC profilini yazar."
 
-#: debug/pcprofiledump.c:60
+#: debug/pcprofiledump.c:61
 msgid "[FILE]"
 msgstr "[DOSYA]"
 
-#: debug/pcprofiledump.c:100
+#: debug/pcprofiledump.c:104
 #, c-format
 msgid "cannot open input file"
 msgstr "girdi dosyası açılamıyor"
 
-#: debug/pcprofiledump.c:106
+#: debug/pcprofiledump.c:111
 #, c-format
 msgid "cannot read header"
 msgstr "başlık okunamıyor"
 
-#: debug/pcprofiledump.c:170
+#: debug/pcprofiledump.c:175
 #, c-format
 msgid "invalid pointer size"
 msgstr "imleyici uzunluğu geçersiz"
@@ -321,7 +321,7 @@
 "\n"
 "Yazılım hatalarını bildirme işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz.\\n"
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz.\\n"
 
 #: debug/xtrace.sh:125
 msgid "xtrace: unrecognized option \\`$1'\\n"
@@ -361,60 +361,55 @@
 msgid "invalid mode parameter"
 msgstr "kip parametresi geçersiz"
 
-#: elf/cache.c:68
+#: elf/cache.c:69
 msgid "unknown"
 msgstr "bilinmiyor"
 
-#: elf/cache.c:111
+#: elf/cache.c:112
 msgid "Unknown OS"
 msgstr "Bilinmeyen iÅŸletim sistemi"
 
-#: elf/cache.c:116
+#: elf/cache.c:117
 #, c-format
 msgid ", OS ABI: %s %d.%d.%d"
 msgstr ", OS ABI: %s %d.%d.%d"
 
-#: elf/cache.c:142 elf/ldconfig.c:1236
+#: elf/cache.c:134 elf/ldconfig.c:1270
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr "Arabellek dosyası %s açılamıyor\n"
 
-#: elf/cache.c:154
+#: elf/cache.c:148
 #, c-format
 msgid "mmap of cache file failed.\n"
 msgstr "arabellek dosyasının mmap'lenmesi başarısız\n"
 
-#: elf/cache.c:158 elf/cache.c:168
+#: elf/cache.c:152 elf/cache.c:166
 #, c-format
 msgid "File is not a cache file.\n"
 msgstr "Bir arabellek dosyası değil.\n"
 
-#: elf/cache.c:201 elf/cache.c:211
+#: elf/cache.c:199 elf/cache.c:209
 #, c-format
 msgid "%d libs found in cache `%s'\n"
 msgstr "%d kitaplık, `%s' arabelleğinde bulundu\n"
 
-#: elf/cache.c:410
-#, c-format
-msgid "Can't remove old temporary cache file %s"
-msgstr "eski geçici arabellek dosyası %s silinemiyor"
-
-#: elf/cache.c:417
+#: elf/cache.c:403
 #, c-format
 msgid "Can't create temporary cache file %s"
 msgstr "Geçici arabellek dosyası %s oluşturulamıyor"
 
-#: elf/cache.c:425 elf/cache.c:435 elf/cache.c:439 elf/cache.c:443
+#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430
 #, c-format
 msgid "Writing of cache data failed"
 msgstr "Arabellek verisini yazmada hata"
 
-#: elf/cache.c:450
+#: elf/cache.c:435
 #, c-format
 msgid "Changing access rights of %s to %#o failed"
 msgstr "%s erişim hakları %#o olarak değiştirilemedi"
 
-#: elf/cache.c:455
+#: elf/cache.c:440
 #, c-format
 msgid "Renaming of %s to %s failed"
 msgstr "%s'in ismi %s olarak deÄŸiÅŸtirilemedi"
@@ -427,28 +422,28 @@
 msgid "shared object not open"
 msgstr "paylaşımlı nesne açık değil"
 
-#: elf/dl-deps.c:112
+#: elf/dl-deps.c:114
 msgid "DST not allowed in SUID/SGID programs"
 msgstr "SUID/SGID programlarda DST'ye izin verilmez"
 
-#: elf/dl-deps.c:125 elf/dl-open.c:282
+#: elf/dl-deps.c:127 elf/dl-open.c:282
 msgid "empty dynamic string token substitution"
 msgstr "boÅŸ dinamik dizge simge ikamesi"
 
-#: elf/dl-deps.c:131
+#: elf/dl-deps.c:133
 #, c-format
 msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
 msgstr "boş dinamik dizge simgesi ikamesi yüzünden yardımcı `%s' yüklenemiyor\n"
 
-#: elf/dl-deps.c:472
+#: elf/dl-deps.c:474
 msgid "cannot allocate dependency list"
 msgstr "bağımlılık listesi ayrılamadı"
 
-#: elf/dl-deps.c:505 elf/dl-deps.c:560
+#: elf/dl-deps.c:510 elf/dl-deps.c:565
 msgid "cannot allocate symbol search list"
 msgstr "sembol arama listesi ayrılamadı"
 
-#: elf/dl-deps.c:545
+#: elf/dl-deps.c:550
 msgid "Filters not supported with LD_TRACE_PRELINKING"
 msgstr "LD_TRACE_PRELINKING'li süzgeçler destenlenmez"
 
@@ -624,11 +619,11 @@
 msgid "cannot open shared object file"
 msgstr "paylaşımlı nesne dosyası açılamıyor"
 
-#: elf/dl-lookup.c:261
+#: elf/dl-lookup.c:356
 msgid "relocation error"
 msgstr "yeniden konumlama hatası"
 
-#: elf/dl-lookup.c:289
+#: elf/dl-lookup.c:384
 msgid "symbol lookup error"
 msgstr "simge arama hatası"
 
@@ -678,11 +673,11 @@
 msgid "cannot apply additional memory protection after relocation"
 msgstr "yeniden ayırma işleminden sonra ek bellek koruması uygulanamaz"
 
-#: elf/dl-sym.c:161
+#: elf/dl-sym.c:162
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr "RTLD_NEXT kullanılan kod dinamik olarak yüklenmedi"
 
-#: elf/dl-sysdep.c:474 elf/dl-sysdep.c:486
+#: elf/dl-sysdep.c:469 elf/dl-sysdep.c:481
 msgid "cannot create capability list"
 msgstr "yetenek listesi oluşturulamıyor"
 
@@ -694,216 +689,220 @@
 msgid "cannot allocate version reference table"
 msgstr "sürüm başvuru tablosu ayrılamadı"
 
-#: elf/ldconfig.c:135
+#: elf/ldconfig.c:138
 msgid "Print cache"
 msgstr "Yazıcı ön belleği"
 
-#: elf/ldconfig.c:136
+#: elf/ldconfig.c:139
 msgid "Generate verbose messages"
 msgstr "Çok detaylı iletiler üretilir"
 
-#: elf/ldconfig.c:137
+#: elf/ldconfig.c:140
 msgid "Don't build cache"
 msgstr "Arabellek oluşturulamıyor"
 
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:141
 msgid "Don't generate links"
 msgstr "Bağlar üretilemiyor"
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:142
 msgid "Change to and use ROOT as root directory"
 msgstr "Dizine geçilir ve kök dizin olarak ROOT kullanır"
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:142
 msgid "ROOT"
 msgstr "KÖK"
 
-#: elf/ldconfig.c:140
+#: elf/ldconfig.c:143
 msgid "CACHE"
 msgstr "ARABELLEK"
 
-#: elf/ldconfig.c:140
+#: elf/ldconfig.c:143
 msgid "Use CACHE as cache file"
 msgstr "Arabellek dosyası olarak ARABELLEK kullanılır"
 
-#: elf/ldconfig.c:141
+#: elf/ldconfig.c:144
 msgid "CONF"
 msgstr "YAPL"
 
-#: elf/ldconfig.c:141
+#: elf/ldconfig.c:144
 msgid "Use CONF as configuration file"
 msgstr "Yapılandırma dosyası olarak YAPD kullanılır"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:145
 msgid "Only process directories specified on the command line.  Don't build cache."
 msgstr "Komut satırında sadece süreç dizinleri belirtilmiş. Önbellek oluşturulamadı."
 
-#: elf/ldconfig.c:143
+#: elf/ldconfig.c:146
 msgid "Manually link individual libraries."
 msgstr "Her bir kitaplığı kendiniz bağlayın."
 
-#: elf/ldconfig.c:144
+#: elf/ldconfig.c:147
 msgid "FORMAT"
 msgstr "BİÇİM"
 
-#: elf/ldconfig.c:144
+#: elf/ldconfig.c:147
 msgid "Format to use: new, old or compat (default)"
 msgstr "Kullanılacak biçem: new, old ya da compat (öntanımlı)"
 
-#: elf/ldconfig.c:152
+#: elf/ldconfig.c:148
+msgid "Ignore auxiliary cache file"
+msgstr "Yardımcı arabellek dosyası yoksayılır"
+
+#: elf/ldconfig.c:156
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr "Dinamik Bağlayıcının İcra Zamanı Bağıntılarını Yapılandırır."
 
-#: elf/ldconfig.c:310
+#: elf/ldconfig.c:319
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr "`%s' dosya yolu birden fazla verilmiÅŸ"
 
-#: elf/ldconfig.c:350
+#: elf/ldconfig.c:359
 #, c-format
 msgid "%s is not a known library type"
 msgstr "%s bilinen bir kitaplık türü değil"
 
-#: elf/ldconfig.c:375
+#: elf/ldconfig.c:384
 #, c-format
 msgid "Can't stat %s"
 msgstr "stat %s yapılamıyor"
 
-#: elf/ldconfig.c:449
+#: elf/ldconfig.c:458
 #, c-format
 msgid "Can't stat %s\n"
 msgstr "stat %s yapılamıyor\n"
 
-#: elf/ldconfig.c:459
+#: elf/ldconfig.c:468
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr "%s bir sembolik baÄŸ deÄŸil\n"
 
-#: elf/ldconfig.c:478
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't unlink %s"
 msgstr "%s bağı kaldırılamadı"
 
-#: elf/ldconfig.c:484
+#: elf/ldconfig.c:493
 #, c-format
 msgid "Can't link %s to %s"
 msgstr "%s den %s'e bağ yapılamıyor"
 
-#: elf/ldconfig.c:490
+#: elf/ldconfig.c:499
 msgid " (changed)\n"
 msgstr " (deÄŸiÅŸti)\n"
 
-#: elf/ldconfig.c:492
+#: elf/ldconfig.c:501
 msgid " (SKIPPED)\n"
 msgstr " (ATLANDI)\n"
 
-#: elf/ldconfig.c:547
+#: elf/ldconfig.c:556
 #, c-format
 msgid "Can't find %s"
 msgstr "%s bulunamıyor"
 
-#: elf/ldconfig.c:563 elf/ldconfig.c:737 elf/ldconfig.c:784
+#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
 #, c-format
 msgid "Cannot lstat %s"
 msgstr "lstat %s yapılamıyor"
 
-#: elf/ldconfig.c:570
+#: elf/ldconfig.c:579
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr "Normal bir dosya olmadığından %s dosyası yoksayıldı"
 
-#: elf/ldconfig.c:578
+#: elf/ldconfig.c:588
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr "%s için kitaplık ismi bulunamadığından bağ oluşturulmadı"
 
-#: elf/ldconfig.c:669
+#: elf/ldconfig.c:671
 #, c-format
 msgid "Can't open directory %s"
 msgstr "%s dizini açılamıyor"
 
-#: elf/ldconfig.c:749
+#: elf/ldconfig.c:759
 #, c-format
 msgid "Cannot stat %s"
 msgstr "stat %s yapılamıyor"
 
-#: elf/ldconfig.c:806 elf/readlib.c:91
+#: elf/ldconfig.c:814 elf/readlib.c:91
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr "Girdi dosyası %s bulunamadı.\n"
 
-#: elf/ldconfig.c:857
+#: elf/ldconfig.c:888
 #, c-format
 msgid "libc5 library %s in wrong directory"
 msgstr "libc5 kitaplığı %s yanlış dizinde"
 
-#: elf/ldconfig.c:860
+#: elf/ldconfig.c:891
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr "libc6 kitaplığı %s yanlış dizinde"
 
-#: elf/ldconfig.c:863
+#: elf/ldconfig.c:894
 #, c-format
 msgid "libc4 library %s in wrong directory"
 msgstr "libc4 kitaplığı %s yanlış dizinde"
 
-#: elf/ldconfig.c:890
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
 msgstr "%s ve %s kitaplıkları %s dizininde ve aynı isme sahip oldukları halde farklı türde."
 
-#: elf/ldconfig.c:997
+#: elf/ldconfig.c:1031
 #, c-format
 msgid "Can't open configuration file %s"
 msgstr "Yapılandırma dosyası %s açılamıyor"
 
-#: elf/ldconfig.c:1061
+#: elf/ldconfig.c:1095
 #, c-format
 msgid "%s:%u: bad syntax in hwcap line"
 msgstr "%s:%u: hwcap satırında sözdizimi hatası"
 
-#: elf/ldconfig.c:1067
+#: elf/ldconfig.c:1101
 #, c-format
 msgid "%s:%u: hwcap index %lu above maximum %u"
 msgstr "%s:%u: hwcap indisi %lu > azami indis %u"
 
-#: elf/ldconfig.c:1074 elf/ldconfig.c:1082
+#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
 #, c-format
 msgid "%s:%u: hwcap index %lu already defined as %s"
 msgstr "%s:%u: hwcap indisi %lu zaten %s olarak tanımlı"
 
-#: elf/ldconfig.c:1085
+#: elf/ldconfig.c:1119
 #, c-format
 msgid "%s:%u: duplicate hwcap %lu %s"
 msgstr "%s:%u: hwcap %lu %s yinelenmiÅŸ"
 
-#: elf/ldconfig.c:1107
+#: elf/ldconfig.c:1141
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr "-r kullanılırken yapılandırma dosyası için soyut dosya ismi gerekir"
 
-#: elf/ldconfig.c:1114 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: elf/ldconfig.c:1148 locale/programs/xmalloc.c:70 malloc/obstack.c:434
 #: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1163
 #, c-format
 msgid "memory exhausted"
 msgstr "bellek tükendi"
 
-#: elf/ldconfig.c:1144
+#: elf/ldconfig.c:1178
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr "%s:%u: %s dizini okunamıyor"
 
-#: elf/ldconfig.c:1189
+#: elf/ldconfig.c:1223
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr "arabelleğin oluşturulduğu göreli yol `%s'"
 
-#: elf/ldconfig.c:1215
+#: elf/ldconfig.c:1249
 #, c-format
 msgid "Can't chdir to /"
 msgstr "/ dizinine geçilemiyor"
 
-#: elf/ldconfig.c:1257
+#: elf/ldconfig.c:1291
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr "Arabellek dosyasının dizini %s açılamıyor\n"
@@ -933,7 +932,7 @@
 "  -v, --verbose           tüm bilgileri basar\n"
 "Yazılım hatalarını bildirme işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz."
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz."
 
 #: elf/ldd.bash.in:80
 msgid "ldd: option \\`$1' is ambiguous"
@@ -1057,7 +1056,7 @@
 "Paylaşımlı nesne profili oluşturma verisini okur ve gösterir.\n"
 "Yazılım hatalarını bildirme işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz.\n"
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz.\n"
 
 #: elf/sprof.c:94
 msgid "SHOBJ [PROFDATA]"
@@ -1424,7 +1423,7 @@
 msgid "Character out of range for UTF-8"
 msgstr "UTF-8 için karakter kapsam dışı"
 
-#: locale/programs/charmap-dir.c:58
+#: locale/programs/charmap-dir.c:59
 #, c-format
 msgid "cannot read character map directory `%s'"
 msgstr "karakter eşlem dizini `%s' okunamıyor"
@@ -1450,7 +1449,7 @@
 msgstr "%s: <mb_cur_max>, <mb_cur_min> den daha büyük olmalı\n"
 
 #: locale/programs/charmap.c:357 locale/programs/charmap.c:374
-#: locale/programs/repertoire.c:175
+#: locale/programs/repertoire.c:174
 #, c-format
 msgid "syntax error in prolog: %s"
 msgstr "prolog içinde sözdizimi hatası: %s"
@@ -1460,7 +1459,7 @@
 msgstr "geçersiz atama"
 
 #: locale/programs/charmap.c:375 locale/programs/locfile.c:126
-#: locale/programs/locfile.c:153 locale/programs/repertoire.c:176
+#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175
 msgid "bad argument"
 msgstr "argüman hatalı"
 
@@ -1479,7 +1478,7 @@
 msgid "value of <%s> must be greater or equal than the value of <%s>"
 msgstr "<%s> değeri <%s> değerinden daha büyük ya da eşit olmalı"
 
-#: locale/programs/charmap.c:445 locale/programs/repertoire.c:184
+#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183
 #, c-format
 msgid "argument to <%s> must be a single character"
 msgstr "<%s>in argümanı bir tek karakter olmalı"
@@ -1497,7 +1496,7 @@
 msgstr "%s tanımında sözdizimi hatası: %s"
 
 #: locale/programs/charmap.c:499 locale/programs/charmap.c:679
-#: locale/programs/charmap.c:775 locale/programs/repertoire.c:231
+#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230
 msgid "no symbolic name given"
 msgstr "sembolik isim verilmemiÅŸ"
 
@@ -1514,19 +1513,19 @@
 msgstr "karakter kodlamada bayt sayısı çok fazla"
 
 #: locale/programs/charmap.c:586 locale/programs/charmap.c:734
-#: locale/programs/charmap.c:817 locale/programs/repertoire.c:297
+#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296
 msgid "no symbolic name given for end of range"
 msgstr "kapsam sonu için sembolik isim verilmemiş"
 
 #: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
-#: locale/programs/ld-collate.c:2677 locale/programs/ld-collate.c:3828
+#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3924
 #: locale/programs/ld-ctype.c:2232 locale/programs/ld-ctype.c:2984
 #: locale/programs/ld-identification.c:452
 #: locale/programs/ld-measurement.c:238 locale/programs/ld-messages.c:332
 #: locale/programs/ld-monetary.c:943 locale/programs/ld-name.c:307
 #: locale/programs/ld-numeric.c:368 locale/programs/ld-paper.c:241
 #: locale/programs/ld-telephone.c:313 locale/programs/ld-time.c:1221
-#: locale/programs/repertoire.c:314
+#: locale/programs/repertoire.c:313
 #, c-format
 msgid "%1$s: definition does not end with `END %1$s'"
 msgstr "%1$s: tanım `END %1$s' ile bitmiyor"
@@ -1546,14 +1545,14 @@
 msgstr "%s: durum motorunda hata"
 
 #: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
-#: locale/programs/ld-collate.c:2674 locale/programs/ld-collate.c:3844
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4115
 #: locale/programs/ld-ctype.c:2229 locale/programs/ld-ctype.c:3001
 #: locale/programs/ld-identification.c:468
 #: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348
 #: locale/programs/ld-monetary.c:959 locale/programs/ld-name.c:323
 #: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257
 #: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237
-#: locale/programs/locfile.c:826 locale/programs/repertoire.c:325
+#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324
 #, c-format
 msgid "%s: premature end of file"
 msgstr "%s: dosya sonu erken geldi"
@@ -1568,21 +1567,21 @@
 msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"
 msgstr "aralığın başındaki ve sonundaki bayt dizilerideki baytların sayısı aynı değil: %d ve %d"
 
-#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:2957
-#: locale/programs/repertoire.c:420
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3047
+#: locale/programs/repertoire.c:419
 msgid "invalid names for character range"
 msgstr "karakter kapsamı için geçersiz isimler"
 
-#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:432
+#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
 msgid "hexadecimal range format should use only capital characters"
 msgstr "onaltılık kapsam biçimi sadece büyük harfleri kullanacaktır"
 
-#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:450
+#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
 #, c-format
 msgid "<%s> and <%s> are invalid names for range"
 msgstr "<%s> ve <%s> kapsam için geçersiz isimler"
 
-#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:457
+#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456
 msgid "upper limit in range is smaller than lower limit"
 msgstr "aralığın üst sınırı alt sınırdan küçük"
 
@@ -1590,7 +1589,7 @@
 msgid "resulting bytes for range not representable."
 msgstr "sonuçlanan baytlar kapsam için gösterilebilir değil."
 
-#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1536
+#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
 #: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:133
 #: locale/programs/ld-measurement.c:94 locale/programs/ld-messages.c:97
 #: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:94
@@ -1677,7 +1676,7 @@
 msgid "%s: unknown character in field `%s'"
 msgstr "%s: `%s' alanında bilinmeyen karakter"
 
-#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3826
+#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3922
 #: locale/programs/ld-ctype.c:2981 locale/programs/ld-identification.c:449
 #: locale/programs/ld-measurement.c:235 locale/programs/ld-messages.c:330
 #: locale/programs/ld-monetary.c:941 locale/programs/ld-name.c:305
@@ -1687,12 +1686,13 @@
 msgid "%s: incomplete `END' line"
 msgstr "%s: tamamlanmamış `END' satırı"
 
-#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:522
-#: locale/programs/ld-collate.c:574 locale/programs/ld-collate.c:870
-#: locale/programs/ld-collate.c:883 locale/programs/ld-collate.c:2664
-#: locale/programs/ld-collate.c:3835 locale/programs/ld-ctype.c:1960
-#: locale/programs/ld-ctype.c:2219 locale/programs/ld-ctype.c:2806
-#: locale/programs/ld-ctype.c:2992 locale/programs/ld-identification.c:459
+#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-collate.c:594 locale/programs/ld-collate.c:890
+#: locale/programs/ld-collate.c:903 locale/programs/ld-collate.c:2733
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4105
+#: locale/programs/ld-ctype.c:1960 locale/programs/ld-ctype.c:2219
+#: locale/programs/ld-ctype.c:2806 locale/programs/ld-ctype.c:2992
+#: locale/programs/ld-identification.c:459
 #: locale/programs/ld-measurement.c:245 locale/programs/ld-messages.c:339
 #: locale/programs/ld-monetary.c:950 locale/programs/ld-name.c:314
 #: locale/programs/ld-numeric.c:375 locale/programs/ld-paper.c:248
@@ -1701,246 +1701,266 @@
 msgid "%s: syntax error"
 msgstr "%s: sözdizimi hatası"
 
-#: locale/programs/ld-collate.c:397
+#: locale/programs/ld-collate.c:417
 #, c-format
 msgid "`%.*s' already defined in charmap"
 msgstr "`%.*s' karakter eşlem olarak zaten atanmış"
 
-#: locale/programs/ld-collate.c:406
+#: locale/programs/ld-collate.c:426
 #, c-format
 msgid "`%.*s' already defined in repertoire"
 msgstr "`%.*s' repertuvar olarak zaten atanmış"
 
-#: locale/programs/ld-collate.c:413
+#: locale/programs/ld-collate.c:433
 #, c-format
 msgid "`%.*s' already defined as collating symbol"
 msgstr "`%.*s' karşılaştırma sembolü olarak zaten atanmış"
 
-#: locale/programs/ld-collate.c:420
+#: locale/programs/ld-collate.c:440
 #, c-format
 msgid "`%.*s' already defined as collating element"
 msgstr "`%.*s' karşılaştırma elemanı olarak zaten atanmış"
 
-#: locale/programs/ld-collate.c:451 locale/programs/ld-collate.c:477
+#: locale/programs/ld-collate.c:471 locale/programs/ld-collate.c:497
 #, c-format
 msgid "%s: `forward' and `backward' are mutually excluding each other"
 msgstr "%s: `forward' ve `backward' karşılıklı olarak bir diğerini dışlar"
 
-#: locale/programs/ld-collate.c:461 locale/programs/ld-collate.c:487
-#: locale/programs/ld-collate.c:503
+#: locale/programs/ld-collate.c:481 locale/programs/ld-collate.c:507
+#: locale/programs/ld-collate.c:523
 #, c-format
 msgid "%s: `%s' mentioned more than once in definition of weight %d"
 msgstr "%s:`%s' %d ağırlıklı tanımda bir kereden fazla anıldı"
 
-#: locale/programs/ld-collate.c:559
+#: locale/programs/ld-collate.c:579
 #, c-format
 msgid "%s: too many rules; first entry only had %d"
 msgstr "%s: çok fazla kural var; sadece ilk girdide kural sayısı %d"
 
-#: locale/programs/ld-collate.c:595
+#: locale/programs/ld-collate.c:615
 #, c-format
 msgid "%s: not enough sorting rules"
 msgstr "%s: sıralama kuralları yetersiz"
 
-#: locale/programs/ld-collate.c:760
+#: locale/programs/ld-collate.c:780
 #, c-format
 msgid "%s: empty weight string not allowed"
 msgstr "%s: boş ağırlık dizgesine izin verilmez"
 
-#: locale/programs/ld-collate.c:855
+#: locale/programs/ld-collate.c:875
 #, c-format
 msgid "%s: weights must use the same ellipsis symbol as the name"
 msgstr "%s: ağırlıklar isim olarak aynı elips sembolünü kullanmalıdır"
 
-#: locale/programs/ld-collate.c:911
+#: locale/programs/ld-collate.c:931
 #, c-format
 msgid "%s: too many values"
 msgstr "%s: çok fazla değer var"
 
-#: locale/programs/ld-collate.c:1031 locale/programs/ld-collate.c:1206
+#: locale/programs/ld-collate.c:1051 locale/programs/ld-collate.c:1226
 #, c-format
 msgid "order for `%.*s' already defined at %s:%Zu"
 msgstr "`%.*s' için sıralama zaten %s:%Zu içinde atanmış"
 
-#: locale/programs/ld-collate.c:1081
+#: locale/programs/ld-collate.c:1101
 #, c-format
 msgid "%s: the start and the end symbol of a range must stand for characters"
 msgstr "%s: bir kapsamın başlangıç ve bitiş sembolleri, karakterleri temsil etmelidir"
 
-#: locale/programs/ld-collate.c:1108
+#: locale/programs/ld-collate.c:1128
 #, c-format
 msgid "%s: byte sequences of first and last character must have the same length"
 msgstr "%s: ilk ve son karakterin bayt serisi aynı uzunlukta olmalı"
 
-#: locale/programs/ld-collate.c:1150
+#: locale/programs/ld-collate.c:1170
 #, c-format
 msgid "%s: byte sequence of first character of range is not lower than that of the last character"
 msgstr "%s: aralığın ilk karakterinin bayt dizisi son karakterininkinden daha düşük değil"
 
-#: locale/programs/ld-collate.c:1275
+#: locale/programs/ld-collate.c:1295
 #, c-format
 msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
 msgstr "%s: sembolik kapsam elipsleri  `order_start' ın hemen ardından gelmemelidir"
 
-#: locale/programs/ld-collate.c:1279
+#: locale/programs/ld-collate.c:1299
 #, c-format
 msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
 msgstr "%s: sembolik kapsam elipslerinin hemen ardından `order_end' gelmemelidir"
 
-#: locale/programs/ld-collate.c:1299 locale/programs/ld-ctype.c:1477
+#: locale/programs/ld-collate.c:1319 locale/programs/ld-ctype.c:1477
 #, c-format
 msgid "`%s' and `%.*s' are not valid names for symbolic range"
 msgstr "`%s' ve `%.*s' simgesel aralık için geçerli isimler değil"
 
-#: locale/programs/ld-collate.c:1349 locale/programs/ld-collate.c:3763
+#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3858
 #, c-format
 msgid "%s: order for `%.*s' already defined at %s:%Zu"
 msgstr "%s: `%.*s' için abecesel sıra zaten %s:%Zu içinde atanmış"
 
-#: locale/programs/ld-collate.c:1358
+#: locale/programs/ld-collate.c:1378
 #, c-format
 msgid "%s: `%s' must be a character"
 msgstr "%s: `%s' bir karakter olmalı"
 
-#: locale/programs/ld-collate.c:1552
+#: locale/programs/ld-collate.c:1573
 #, c-format
 msgid "%s: `position' must be used for a specific level in all sections or none"
 msgstr "%s: `position' tüm alt bölümlerde özel bir düzey için kullanılmış olmalı ya da hiç bulunmamalı"
 
-#: locale/programs/ld-collate.c:1577
+#: locale/programs/ld-collate.c:1598
 #, c-format
 msgid "symbol `%s' not defined"
 msgstr "`%s' sembolü atanmamış"
 
-#: locale/programs/ld-collate.c:1653 locale/programs/ld-collate.c:1759
+#: locale/programs/ld-collate.c:1674 locale/programs/ld-collate.c:1780
 #, c-format
 msgid "symbol `%s' has the same encoding as"
 msgstr "`%s' sembolü bununla aynı kodlamaya sahip:"
 
-#: locale/programs/ld-collate.c:1657 locale/programs/ld-collate.c:1763
+#: locale/programs/ld-collate.c:1678 locale/programs/ld-collate.c:1784
 #, c-format
 msgid "symbol `%s'"
 msgstr "`%s' sembolü"
 
-#: locale/programs/ld-collate.c:1805
+#: locale/programs/ld-collate.c:1826
 #, c-format
 msgid "no definition of `UNDEFINED'"
 msgstr "`UNDEFINED' tanımı yok"
 
-#: locale/programs/ld-collate.c:1834
+#: locale/programs/ld-collate.c:1855
 #, c-format
 msgid "too many errors; giving up"
 msgstr "çok fazla hata: bırakılıyor"
 
-#: locale/programs/ld-collate.c:2762
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4044
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr "%s:  iç içe koşullu ifadeler desteklenmiyor"
+
+#: locale/programs/ld-collate.c:2677
+#, c-format
+msgid "%s: more then one 'else'"
+msgstr "%s: birden fazla 'else' belirtilmiÅŸ"
+
+#: locale/programs/ld-collate.c:2852
 #, c-format
 msgid "%s: duplicate definition of `%s'"
 msgstr "%s: `%s' tanımı tekrarlanmış"
 
-#: locale/programs/ld-collate.c:2798
+#: locale/programs/ld-collate.c:2888
 #, c-format
 msgid "%s: duplicate declaration of section `%s'"
 msgstr "%s: `%s' bölüm bildirimi tekrarlanmış"
 
-#: locale/programs/ld-collate.c:2937
+#: locale/programs/ld-collate.c:3027
 #, c-format
 msgid "%s: unknown character in collating symbol name"
 msgstr "%s: karşılaştırma sembolü isminde bilinmeyen karakter"
 
-#: locale/programs/ld-collate.c:3069
+#: locale/programs/ld-collate.c:3159
 #, c-format
 msgid "%s: unknown character in equivalent definition name"
 msgstr "%s: eşdeğer tanımlama isminde bilinmeyen karakter"
 
-#: locale/programs/ld-collate.c:3082
+#: locale/programs/ld-collate.c:3172
 #, c-format
 msgid "%s: unknown character in equivalent definition value"
 msgstr "%s: eşdeğer tanımlama değerinde bilinmeyen karakter"
 
-#: locale/programs/ld-collate.c:3092
+#: locale/programs/ld-collate.c:3182
 #, c-format
 msgid "%s: unknown symbol `%s' in equivalent definition"
 msgstr "%s: eşdeğer tanımlamada bilinmeyen sembol: `%s'"
 
-#: locale/programs/ld-collate.c:3101
+#: locale/programs/ld-collate.c:3191
 msgid "error while adding equivalent collating symbol"
 msgstr "eşdeğer karşılaştırma sembolünü eklerken hata"
 
-#: locale/programs/ld-collate.c:3131
+#: locale/programs/ld-collate.c:3221
 #, c-format
 msgid "duplicate definition of script `%s'"
 msgstr "`%s' betiğinin ataması tekrarlanmış"
 
-#: locale/programs/ld-collate.c:3179
+#: locale/programs/ld-collate.c:3269
 #, c-format
 msgid "%s: unknown section name `%.*s'"
 msgstr "%s: bölüm ismi `%.*s' bilinmiyor"
 
-#: locale/programs/ld-collate.c:3208
+#: locale/programs/ld-collate.c:3298
 #, c-format
 msgid "%s: multiple order definitions for section `%s'"
 msgstr "%s: `%s' alt bölümünde çok sayıda sıralama tanımı"
 
-#: locale/programs/ld-collate.c:3233
+#: locale/programs/ld-collate.c:3326
 #, c-format
 msgid "%s: invalid number of sorting rules"
 msgstr "%s: sıralama kurallarının sayısı geçersiz"
 
-#: locale/programs/ld-collate.c:3260
+#: locale/programs/ld-collate.c:3353
 #, c-format
 msgid "%s: multiple order definitions for unnamed section"
 msgstr "%s: isimsiz alt bölümde çok sayıda sıralama tanımı"
 
-#: locale/programs/ld-collate.c:3314 locale/programs/ld-collate.c:3442
-#: locale/programs/ld-collate.c:3804
+#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
+#: locale/programs/ld-collate.c:3900
 #, c-format
 msgid "%s: missing `order_end' keyword"
 msgstr "%s: `order_end' anahtar-sözcüğü kayıp"
 
-#: locale/programs/ld-collate.c:3375
+#: locale/programs/ld-collate.c:3470
 #, c-format
 msgid "%s: order for collating symbol %.*s not yet defined"
 msgstr "%s: karşılaştırma sembolü %.*s için abecesel sıra henüz atanmamış"
 
-#: locale/programs/ld-collate.c:3393
+#: locale/programs/ld-collate.c:3488
 #, c-format
 msgid "%s: order for collating element %.*s not yet defined"
 msgstr "%s: karşılaştırma elemanı %.*s için abecesel sıra henüz atanmamış"
 
-#: locale/programs/ld-collate.c:3404
+#: locale/programs/ld-collate.c:3499
 #, c-format
 msgid "%s: cannot reorder after %.*s: symbol not known"
 msgstr "%s: %.*s sembolünden sonra tekrar sıralanamıyor: sembol bilinmiyor"
 
-#: locale/programs/ld-collate.c:3456 locale/programs/ld-collate.c:3816
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
 #, c-format
 msgid "%s: missing `reorder-end' keyword"
 msgstr "%s: `reorder_end' anahtar-sözcüğü kayıp"
 
-#: locale/programs/ld-collate.c:3490 locale/programs/ld-collate.c:3688
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
 #, c-format
 msgid "%s: section `%.*s' not known"
 msgstr "%s: `%.*s' alt bölümü bilinmiyor"
 
-#: locale/programs/ld-collate.c:3555
+#: locale/programs/ld-collate.c:3650
 #, c-format
 msgid "%s: bad symbol <%.*s>"
 msgstr "%s: hatalı sembol <%.*s>"
 
-#: locale/programs/ld-collate.c:3751
+#: locale/programs/ld-collate.c:3846
 #, c-format
 msgid "%s: cannot have `%s' as end of ellipsis range"
 msgstr "%s: `%s' elips kapsamının sonu olamıyor"
 
-#: locale/programs/ld-collate.c:3800
+#: locale/programs/ld-collate.c:3896
 #, c-format
 msgid "%s: empty category description not allowed"
 msgstr "%s: boş kategori açıklamasına izin verilmez"
 
-#: locale/programs/ld-collate.c:3819
+#: locale/programs/ld-collate.c:3915
 #, c-format
 msgid "%s: missing `reorder-sections-end' keyword"
 msgstr "%s: `reorder_section_end' anahtar-sözcüğü kayıp"
+
+#: locale/programs/ld-collate.c:4077
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: 'ifdef' veya 'ifndef' ile eÅŸleÅŸmeyen '%s'"
+
+#: locale/programs/ld-collate.c:4095
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: 'ifdef' veya 'ifndef' ile eÅŸleÅŸmeyen 'endif'"
 
 #: locale/programs/ld-ctype.c:439
 #, c-format
@@ -2385,7 +2405,7 @@
 "Yerele özgü bilgileri gösterir.\n"
 "Yazılım hatalarını bildirme işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz.\n"
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz.\n"
 
 #: locale/programs/locale.c:92
 msgid ""
@@ -2715,22 +2735,22 @@
 msgid "`%1$s' definition does not end with `END %1$s'"
 msgstr "`%1$s' tanımı `END %1$s' ile bitmiyor"
 
-#: locale/programs/repertoire.c:230 locale/programs/repertoire.c:271
-#: locale/programs/repertoire.c:296
+#: locale/programs/repertoire.c:229 locale/programs/repertoire.c:270
+#: locale/programs/repertoire.c:295
 #, c-format
 msgid "syntax error in repertoire map definition: %s"
 msgstr "repertuar eşlem tanımı içinde sözdizimi hatası: %s"
 
-#: locale/programs/repertoire.c:272
+#: locale/programs/repertoire.c:271
 msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
 msgstr "<Uxxxx> ya da <Uxxxxxxxx> deÄŸeri verilmeliydi"
 
-#: locale/programs/repertoire.c:332
+#: locale/programs/repertoire.c:331
 #, c-format
 msgid "cannot save new repertoire map"
 msgstr "yeni repertuvar eÅŸlemi kaydedilemiyor"
 
-#: locale/programs/repertoire.c:343
+#: locale/programs/repertoire.c:342
 #, c-format
 msgid "repertoire map file `%s' not found"
 msgstr "`%s' repertuar eşlem dosyası bulunamadı"
@@ -2846,7 +2866,7 @@
 "\n"
 "Yazılım hatalarını bildirme işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz."
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz."
 
 #: malloc/memusage.sh:99
 msgid ""
@@ -3547,12 +3567,12 @@
 msgid "yp_update: cannot get server address\n"
 msgstr "yp_update: sunucu adresi alınamıyor\n"
 
-#: nscd/aicache.c:77 nscd/hstcache.c:462
+#: nscd/aicache.c:77 nscd/hstcache.c:468
 #, c-format
 msgid "Haven't found \"%s\" in hosts cache!"
 msgstr "\"%s\" makinalar arabelleÄŸinde yok!"
 
-#: nscd/aicache.c:79 nscd/hstcache.c:464
+#: nscd/aicache.c:79 nscd/hstcache.c:470
 #, c-format
 msgid "Reloading \"%s\" in hosts cache!"
 msgstr "\"%s\" hosts arabelleğine yeniden yükleniyor!"
@@ -3566,7 +3586,7 @@
 msgid " (first)"
 msgstr " (ilk)"
 
-#: nscd/cache.c:256 nscd/connections.c:786
+#: nscd/cache.c:256 nscd/connections.c:810
 #, c-format
 msgid "cannot stat() file `%s': %s"
 msgstr "`%s' dosyası stat() olamıyor: %s"
@@ -3581,188 +3601,188 @@
 msgid "considering %s entry \"%s\", timeout %<PRIu64>"
 msgstr "girdi \"%2$s\" %1$s olarak ele elınıyor, zamanaşımı %3$<PRIu64>"
 
-#: nscd/connections.c:505 nscd/connections.c:517 nscd/connections.c:529
-#: nscd/connections.c:548
+#: nscd/connections.c:521 nscd/connections.c:533 nscd/connections.c:545
+#: nscd/connections.c:564
 #, c-format
 msgid "invalid persistent database file \"%s\": %s"
 msgstr "kalıcı veritabanı dosyası \"%s\" geçersiz: %s"
 
-#: nscd/connections.c:519
+#: nscd/connections.c:535
 msgid "header size does not match"
 msgstr "başlık boyutu uyumsuz"
 
-#: nscd/connections.c:531
+#: nscd/connections.c:547
 msgid "file size does not match"
 msgstr "dosya boyutu uyumsuz"
 
-#: nscd/connections.c:550
+#: nscd/connections.c:566
 msgid "verification failed"
 msgstr "doğrulanamadı"
 
-#: nscd/connections.c:564
+#: nscd/connections.c:580
 #, c-format
 msgid "suggested size of table for database %s larger than the persistent database's table"
 msgstr "%s veritabanı için önerilen tablo boyutu kalıcı veritabanı tablosundan büyük"
 
-#: nscd/connections.c:574 nscd/connections.c:655
+#: nscd/connections.c:591 nscd/connections.c:673
 #, c-format
 msgid "cannot create read-only descriptor for \"%s\"; no mmap"
 msgstr "\"%s\" için salt-okunur tanıtıcı oluşturulamıyor; mmap yok"
 
-#: nscd/connections.c:634
+#: nscd/connections.c:652
 #, c-format
 msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
 msgstr "%s için ya veritabanı yok ya da şu an kullanımda; gerekiyorsa %s'i kendiniz silip yeniden başlatın"
 
-#: nscd/connections.c:641
+#: nscd/connections.c:659
 #, c-format
 msgid "cannot create %s; no persistent database used"
 msgstr "%s oluşturulamıyor; kullanımda bir kalıcı veritabanı yok"
 
-#: nscd/connections.c:644
+#: nscd/connections.c:662
 #, c-format
 msgid "cannot create %s; no sharing possible"
 msgstr "%s oluşturulamıyor; paylaşım mümkün değil"
 
-#: nscd/connections.c:715
+#: nscd/connections.c:733
 #, c-format
 msgid "cannot write to database file %s: %s"
 msgstr "veritabanı dosyası %s yazılamıyor: %s"
 
-#: nscd/connections.c:749
+#: nscd/connections.c:772
 #, c-format
 msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
 msgstr "exec üzerinde kapatılacak soket atanamadı: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:799
+#: nscd/connections.c:823
 #, c-format
 msgid "cannot open socket: %s"
 msgstr "soket açılamıyor: %s"
 
-#: nscd/connections.c:816
+#: nscd/connections.c:840
 #, c-format
 msgid "cannot change socket to nonblocking mode: %s"
 msgstr "engellenmeyen kipte soket deÄŸiÅŸtirilemez: %s"
 
-#: nscd/connections.c:824
+#: nscd/connections.c:848
 #, c-format
 msgid "cannot set socket to close on exec: %s"
 msgstr "exec üzerinde kapatılacak soket atanamadı: %s"
 
-#: nscd/connections.c:835
+#: nscd/connections.c:859
 #, c-format
 msgid "cannot enable socket to accept connections: %s"
 msgstr "bağlantıları kabul etmek üzere soket etkinleştirilemiyor: %s"
 
-#: nscd/connections.c:926
+#: nscd/connections.c:955
 #, c-format
 msgid "provide access to FD %d, for %s"
 msgstr "%2$s için dosya tanıtıcı %1$d'ye erişim sağlar"
 
-#: nscd/connections.c:938
+#: nscd/connections.c:967
 #, c-format
 msgid "cannot handle old request version %d; current version is %d"
 msgstr "eski istem sürümü %d elde edilemedi; mevcut sürüm %d"
 
-#: nscd/connections.c:980 nscd/connections.c:1033
+#: nscd/connections.c:1009 nscd/connections.c:1062
 #, c-format
 msgid "cannot write result: %s"
 msgstr "sonuç yazılamıyor: %s"
 
-#: nscd/connections.c:1116
+#: nscd/connections.c:1145
 #, c-format
 msgid "error getting caller's id: %s"
 msgstr "çağrıcı kimliği alınırken hata: %s"
 
-#: nscd/connections.c:1175
+#: nscd/connections.c:1204
 #, c-format
 msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
 msgstr "/proc/self/cmdline açılamadı: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:1189
+#: nscd/connections.c:1218
 #, c-format
 msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
 msgstr "/proc/self/cmdline okunamadı: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:1229
+#: nscd/connections.c:1258
 #, c-format
 msgid "cannot change to old UID: %s; disabling paranoia mode"
 msgstr "eski UID'e dönülemedi: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:1239
+#: nscd/connections.c:1268
 #, c-format
 msgid "cannot change to old GID: %s; disabling paranoia mode"
 msgstr "eski GID'e dönülemedi: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:1252
+#: nscd/connections.c:1281
 #, c-format
 msgid "cannot change to old working directory: %s; disabling paranoia mode"
 msgstr "eski çalışma dizinine dönülemiyor: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:1280
+#: nscd/connections.c:1310
 #, c-format
 msgid "re-exec failed: %s; disabling paranoia mode"
 msgstr "re-exec başarısız: %s; paranoya kipi iptal ediliyor"
 
-#: nscd/connections.c:1289
+#: nscd/connections.c:1319
 #, c-format
 msgid "cannot change current working directory to \"/\": %s"
 msgstr "çalışma dizini \"/\" yapılamadı: %s"
 
-#: nscd/connections.c:1407
+#: nscd/connections.c:1437
 #, c-format
 msgid "short read while reading request: %s"
 msgstr "istenen okuma kısa: %s"
 
-#: nscd/connections.c:1438
+#: nscd/connections.c:1468
 #, c-format
 msgid "key length in request too long: %d"
 msgstr "istenen anahtar/tuÅŸ uzunluÄŸu fazla: %d"
 
-#: nscd/connections.c:1451
+#: nscd/connections.c:1481
 #, c-format
 msgid "short read while reading request key: %s"
 msgstr "istenen anahtar/tuş okunurken kısa okuma: %s"
 
-#: nscd/connections.c:1460
+#: nscd/connections.c:1490
 #, c-format
 msgid "handle_request: request received (Version = %d) from PID %ld"
 msgstr "handle_request: %2$ld numaralı süreçden istek alındı (Sürüm = %1$d)"
 
-#: nscd/connections.c:1465
+#: nscd/connections.c:1495
 #, c-format
 msgid "handle_request: request received (Version = %d)"
 msgstr "handle_request: istek alındı (Sürüm = %d)"
 
-#: nscd/connections.c:1826
+#: nscd/connections.c:1856
 #, c-format
 msgid "could only start %d threads; terminating"
 msgstr "sadece %d evre başlatılabilir; sonlanıyor"
 
-#: nscd/connections.c:1874 nscd/connections.c:1875 nscd/connections.c:1892
-#: nscd/connections.c:1901 nscd/connections.c:1919 nscd/connections.c:1930
-#: nscd/connections.c:1941
+#: nscd/connections.c:1904 nscd/connections.c:1905 nscd/connections.c:1922
+#: nscd/connections.c:1931 nscd/connections.c:1949 nscd/connections.c:1960
+#: nscd/connections.c:1971
 #, c-format
 msgid "Failed to run nscd as user '%s'"
 msgstr "nscd '%s' kullanıcısı olarak çalıştırılamadı"
 
-#: nscd/connections.c:1893
+#: nscd/connections.c:1923
 #, c-format
 msgid "initial getgrouplist failed"
 msgstr "ilk getgrouplist başarısız"
 
-#: nscd/connections.c:1902
+#: nscd/connections.c:1932
 #, c-format
 msgid "getgrouplist failed"
 msgstr "getgrouplist başarısız"
 
-#: nscd/connections.c:1920
+#: nscd/connections.c:1950
 #, c-format
 msgid "setgroups failed"
 msgstr "setgroups başarısız"
 
-#: nscd/grpcache.c:402 nscd/hstcache.c:412 nscd/initgrcache.c:412
-#: nscd/pwdcache.c:397 nscd/servicescache.c:342
+#: nscd/grpcache.c:402 nscd/hstcache.c:418 nscd/initgrcache.c:412
+#: nscd/pwdcache.c:397 nscd/servicescache.c:343
 #, c-format
 msgid "short write in %s: %s"
 msgstr "%s içinde kısa yazma: %s"
@@ -4173,12 +4193,12 @@
 "%15u  vektör algılandı\n"
 "%15u  vektör kayıp\n"
 
-#: nscd/servicescache.c:389
+#: nscd/servicescache.c:390
 #, c-format
 msgid "Haven't found \"%s\" in services cache!"
 msgstr "\"%s\" services arabelleÄŸinde yok!"
 
-#: nscd/servicescache.c:391
+#: nscd/servicescache.c:392
 #, c-format
 msgid "Reloading \"%s\" in services cache!"
 msgstr "\"%s\" services arabelleğine yeniden yükleniyor!"
@@ -4199,7 +4219,7 @@
 "Yönetimsel veritabanındaki girdileri gösterir.\n"
 "Yazılım hatalarını bildirme işlemleri için,\n"
 "<http://www.gnu.org/software/libc/bugs.html> adresine bakınız.\n"
-"Çeviri hatalarını <nilgun@xxxxxxxxxxxx> adresine bildiriniz.\n"
+"Çeviri hatalarını <nilgun (at) buguner.name.tr> adresine bildiriniz.\n"
 
 #: nss/getent.c:145 nss/getent.c:394
 #, c-format
@@ -6252,7 +6272,7 @@
 msgid "%s: Leap line in non leap seconds file %s\n"
 msgstr "%s: artık saniyeler olmayan %s dosyasında `Leap' satırı\n"
 
-#: timezone/zic.c:892 timezone/zic.c:1323 timezone/zic.c:1345
+#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
 msgstr "%s: panik: sol değer (l_value) %d geçersiz\n"
@@ -6271,231 +6291,239 @@
 msgid "expected continuation line not found"
 msgstr "gereken süreklilik satırı bulunamadı"
 
-#: timezone/zic.c:956
+#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+msgid "time overflow"
+msgstr "zaman taşması"
+
+#: timezone/zic.c:960
 msgid "24:00 not handled by pre-1998 versions of zic"
 msgstr "zic'in 1998 öncesi sürümlerinde 24:00 elde edilemez"
 
-#: timezone/zic.c:970
+#: timezone/zic.c:963
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr "zic'in 2007 öncesi sürümlerinde 24 saatin üzerindeki değerlerle işlem yapılmaz"
+
+#: timezone/zic.c:976
 msgid "wrong number of fields on Rule line"
 msgstr "`Rule' satırının alanları eksik ya da fazla"
 
-#: timezone/zic.c:974
+#: timezone/zic.c:980
 msgid "nameless rule"
 msgstr "adsız kural"
 
-#: timezone/zic.c:979
+#: timezone/zic.c:985
 msgid "invalid saved time"
 msgstr "kazanılmış zaman geçersiz"
 
-#: timezone/zic.c:1000
+#: timezone/zic.c:1006
 msgid "wrong number of fields on Zone line"
 msgstr "`Zone' satırının alanları eksik ya da fazla"
 
-#: timezone/zic.c:1006
+#: timezone/zic.c:1012
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
 msgstr "\"Zone %s\" satırı ve -l seçeneği çelişiyor"
 
-#: timezone/zic.c:1014
+#: timezone/zic.c:1020
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
 msgstr "\"Zone %s\" satırı ve -p seçeneği çelişiyor"
 
-#: timezone/zic.c:1026
+#: timezone/zic.c:1032
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
 msgstr "dilim ismi %s tekrarlanmış (dosya \"%s\", satır %d)"
 
-#: timezone/zic.c:1042
+#: timezone/zic.c:1048
 msgid "wrong number of fields on Zone continuation line"
 msgstr "`Zone' devam satırının alanları eksik ya da fazla"
 
-#: timezone/zic.c:1082
+#: timezone/zic.c:1088
 msgid "invalid UTC offset"
 msgstr "UTC offset geçersiz"
 
-#: timezone/zic.c:1085
+#: timezone/zic.c:1091
 msgid "invalid abbreviation format"
 msgstr "kısaltma biçemi geçersiz"
 
-#: timezone/zic.c:1114
+#: timezone/zic.c:1120
 msgid "Zone continuation line end time is not after end time of previous line"
 msgstr "`Zone' devamlılık satırının bitiş zamanı önceki satırın bitiş zamanından sonra değil"
 
-#: timezone/zic.c:1142
+#: timezone/zic.c:1148
 msgid "wrong number of fields on Leap line"
 msgstr "`Leap' satırının alanları eksik ya da fazla"
 
-#: timezone/zic.c:1151
+#: timezone/zic.c:1157
 msgid "invalid leaping year"
 msgstr "artık yıl geçersiz"
 
-#: timezone/zic.c:1171 timezone/zic.c:1277
+#: timezone/zic.c:1177 timezone/zic.c:1283
 msgid "invalid month name"
 msgstr "ay ismi geçersiz"
 
-#: timezone/zic.c:1184 timezone/zic.c:1390 timezone/zic.c:1404
+#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
 msgid "invalid day of month"
 msgstr "ayın günü geçersiz"
 
-#: timezone/zic.c:1189
+#: timezone/zic.c:1195
 msgid "time before zero"
 msgstr "sıfırdan önceki zaman"
 
-#: timezone/zic.c:1193
+#: timezone/zic.c:1199
 msgid "time too small"
 msgstr "süre çok kısa"
 
-#: timezone/zic.c:1197
+#: timezone/zic.c:1203
 msgid "time too large"
 msgstr "süre çok uzun"
 
-#: timezone/zic.c:1201 timezone/zic.c:1306
+#: timezone/zic.c:1207 timezone/zic.c:1312
 msgid "invalid time of day"
 msgstr "günün tarihi geçersiz"
 
-#: timezone/zic.c:1220
+#: timezone/zic.c:1226
 msgid "illegal CORRECTION field on Leap line"
 msgstr "`Leap' satırında kuraldışı CORRECTION alanı"
 
-#: timezone/zic.c:1225
+#: timezone/zic.c:1231
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr "`Leap' satırında kuraldışı Rolling/Stationary alanı"
 
-#: timezone/zic.c:1241
+#: timezone/zic.c:1247
 msgid "wrong number of fields on Link line"
 msgstr "`Link' satırının alanları eksik ya da fazla"
 
-#: timezone/zic.c:1245
+#: timezone/zic.c:1251
 msgid "blank FROM field on Link line"
 msgstr "`Link' satırında FROM alanı boş"
 
-#: timezone/zic.c:1249
+#: timezone/zic.c:1255
 msgid "blank TO field on Link line"
 msgstr "`Link' satırında TO alanı boş"
 
-#: timezone/zic.c:1327
+#: timezone/zic.c:1333
 msgid "invalid starting year"
 msgstr "başlangıç yılı geçersiz"
 
-#: timezone/zic.c:1349
+#: timezone/zic.c:1355
 msgid "invalid ending year"
 msgstr "bitiş yılı geçersiz"
 
-#: timezone/zic.c:1353
+#: timezone/zic.c:1359
 msgid "starting year greater than ending year"
 msgstr "başlangıç yılı bitiş yılından büyük"
 
-#: timezone/zic.c:1360
+#: timezone/zic.c:1366
 msgid "typed single year"
 msgstr "türünde tek yıl"
 
-#: timezone/zic.c:1395
+#: timezone/zic.c:1401
 msgid "invalid weekday name"
 msgstr "gün ismi geçersiz"
 
-#: timezone/zic.c:1573
+#: timezone/zic.c:1579
 #, c-format
 msgid "%s: Can't remove %s: %s\n"
 msgstr "%s: %s silinemiyor: %s\n"
 
-#: timezone/zic.c:1583
+#: timezone/zic.c:1589
 #, c-format
 msgid "%s: Can't create %s: %s\n"
 msgstr "%s: %s oluşturulamıyor: %s\n"
 
-#: timezone/zic.c:1733
+#: timezone/zic.c:1739
 #, c-format
 msgid "%s: Error writing %s\n"
 msgstr "%s: %s yazılırken hata oluştu\n"
 
-#: timezone/zic.c:2025
+#: timezone/zic.c:2031
 msgid "no POSIX environment variable for zone"
 msgstr "zaman dilimi için POSIX ortam değişkeni yok"
 
-#: timezone/zic.c:2179
+#: timezone/zic.c:2185
 msgid "can't determine time zone abbreviation to use just after until time"
 msgstr "süreye değinden hemen sonra kullanılacak zaman dilimi kısaltması saptanamadı"
 
-#: timezone/zic.c:2225
+#: timezone/zic.c:2231
 msgid "too many transitions?!"
 msgstr "çok fazla geçiş?!"
 
-#: timezone/zic.c:2244
+#: timezone/zic.c:2250
 msgid "internal error - addtype called with bad isdst"
 msgstr "iç hata -- addtype hatalı isdst ile çağrıldı"
 
-#: timezone/zic.c:2248
+#: timezone/zic.c:2254
 msgid "internal error - addtype called with bad ttisstd"
 msgstr "iç hata -- addtype hatalı ttisstd ile çağrıldı"
 
-#: timezone/zic.c:2252
+#: timezone/zic.c:2258
 msgid "internal error - addtype called with bad ttisgmt"
 msgstr "iç hata -- addtype hatalı ttisgmt ile çağrıldı"
 
-#: timezone/zic.c:2271
+#: timezone/zic.c:2277
 msgid "too many local time types"
 msgstr "yerel zaman türleri çok fazla"
 
-#: timezone/zic.c:2299
+#: timezone/zic.c:2281
+msgid "UTC offset out of range"
+msgstr "UTC'ye göre saat farkı aralık dışında"
+
+#: timezone/zic.c:2309
 msgid "too many leap seconds"
 msgstr "çok fazla artık saniye"
 
-#: timezone/zic.c:2305
+#: timezone/zic.c:2315
 msgid "repeated leap second moment"
 msgstr "tekrarlanan artık saniye anı"
 
-#: timezone/zic.c:2357
+#: timezone/zic.c:2367
 msgid "Wild result from command execution"
 msgstr "Komut icrasından alınan sonuç garip"
 
-#: timezone/zic.c:2358
+#: timezone/zic.c:2368
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
 msgstr "%s: komut `%s' idi, sonuç %d oldu\n"
 
-#: timezone/zic.c:2456
+#: timezone/zic.c:2466
 msgid "Odd number of quotation marks"
 msgstr "Tırnak işaretleri tek sayıda"
 
-#: timezone/zic.c:2479 timezone/zic.c:2498
-msgid "time overflow"
-msgstr "zaman taşması"
-
-#: timezone/zic.c:2545
+#: timezone/zic.c:2555
 msgid "use of 2/29 in non leap-year"
 msgstr "artık olmayan yıl içinde 2/29 kullanımı"
 
-#: timezone/zic.c:2580
+#: timezone/zic.c:2590
 msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic"
 msgstr "ayın başına/sonuna giden kural zic'in 2004 öncesi sürümlerinde çalışmaz"
 
-#: timezone/zic.c:2612
+#: timezone/zic.c:2622
 msgid "time zone abbreviation lacks alphabetic at start"
 msgstr "zaman dilimi kısaltması bir harfle başlamıyor"
 
-#: timezone/zic.c:2614
+#: timezone/zic.c:2624
 msgid "time zone abbreviation has more than 3 alphabetics"
 msgstr "zaman dilimi kısaltmasında 3 harften az harf var"
 
-#: timezone/zic.c:2616
+#: timezone/zic.c:2626
 msgid "time zone abbreviation has too many alphabetics"
 msgstr "zaman dilimi kısaltmasında çok fazla harf var"
 
-#: timezone/zic.c:2626
+#: timezone/zic.c:2636
 msgid "time zone abbreviation differs from POSIX standard"
 msgstr "zaman dilimi kısaltması POSIX standardından farklı"
 
-#: timezone/zic.c:2638
+#: timezone/zic.c:2648
 msgid "too many, or too long, time zone abbreviations"
 msgstr "çok fazla ya da çok uzun zaman dilimi kısaltmaları"
 
-#: timezone/zic.c:2679
+#: timezone/zic.c:2689
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
 msgstr "%s: %s dizini oluşturulamıyor: %s\n"
 
-#: timezone/zic.c:2701
+#: timezone/zic.c:2711
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr "%s: %d ölçüyü tutturamadı\n"

Modified: fsf/trunk/libc/posix/Makefile
==============================================================================
--- fsf/trunk/libc/posix/Makefile (original)
+++ fsf/trunk/libc/posix/Makefile Tue Nov 20 00:03:48 2007
@@ -90,6 +90,7 @@
 		   tst-execv1 tst-execv2 tst-execl1 tst-execl2 \
 		   tst-execve1 tst-execve2 tst-execle1 tst-execle2 \
 		   tst-execvp3 tst-execvp4 tst-rfc3484 tst-rfc3484-2 \
+		   tst-rfc3484-3 \
 		   tst-getaddrinfo3 tst-fnmatch2 tst-cpucount tst-cpuset
 xtests		:= bug-ga2
 ifeq (yes,$(build-shared))

Modified: fsf/trunk/libc/posix/gai.conf
==============================================================================
--- fsf/trunk/libc/posix/gai.conf (original)
+++ fsf/trunk/libc/posix/gai.conf Tue Nov 20 00:03:48 2007
@@ -19,13 +19,14 @@
 #    Add another rule to the RFC 3484 label table.  See section 2.1 in
 #    RFC 3484.  The default is:
 #
-#label  ::1/128       0
-#label  ::/0          1
-#label  2002::/16     2
-#label ::/96          3
-#label ::ffff:0:0/96  4
-#label  fec0::/10     5
-#label  fc00::/7      6
+#label ::1/128       0
+#label ::/0          1
+#label 2002::/16     2
+#label ::/96         3
+#label ::ffff:0:0/96 4
+#label fec0::/10     5
+#label fc00::/7      6
+#label 2001:0::/32   7
 #
 #    This default differs from the tables given in RFC 3484 by handling
 #    (now obsolete) site-local IPv6 addresses and Unique Local Addresses.
@@ -35,10 +36,11 @@
 #    site-local IPv4 and IPv6 addresses a lookup for a global address would
 #    see the IPv6 be preferred.  The result is a long delay because the
 #    site-local IPv6 addresses cannot be used while the IPv4 address is
-#    (at least for the foreseeable future) NATed.
+#    (at least for the foreseeable future) NATed.  We also treat Teredo
+#    tunnels special.
 #
 # precedence  <mask>   <value>
-#    Add another rule the to RFC 3484 precedence table.  See section 2.1
+#    Add another rule to the RFC 3484 precedence table.  See section 2.1
 #    and 10.3 in RFC 3484.  The default is:
 #
 #precedence  ::1/128       50
@@ -50,3 +52,17 @@
 #    For sites which prefer IPv4 connections change the last line to
 #
 #precedence ::ffff:0:0/96  100
+
+#
+# scopev4  <mask>  <value>
+#    Add another rule to the RFC 3484 scope table for IPv4 addresses.
+#    By default the scope IDs described in section 3.2 in RFC 3484 are
+#    used.  Changing these defaults should hardly ever be necessary.
+#    The defaults are equivalent to:
+#
+#scopev4 ::ffff:169.254.0.0/112  2
+#scopev4 ::ffff:127.0.0.0/104    2
+#scopev4 ::ffff:10.0.0.0/104     5
+#scopev4 ::ffff:172.16.0.0/108   5
+#scopev4 ::ffff:192.168.0.0/112  5
+#scopev4 ::ffff:0.0.0.0          14

Modified: fsf/trunk/libc/posix/tst-rfc3484-2.c
==============================================================================
--- fsf/trunk/libc/posix/tst-rfc3484-2.c (original)
+++ fsf/trunk/libc/posix/tst-rfc3484-2.c Tue Nov 20 00:03:48 2007
@@ -66,6 +66,7 @@
 {
   labels = default_labels;
   precedence = default_precedence;
+  scopes = default_scopes;
 
   struct sockaddr_in so1;
   so1.sin_family = AF_INET;

Added: fsf/trunk/libc/posix/tst-rfc3484-3.c
==============================================================================
--- fsf/trunk/libc/posix/tst-rfc3484-3.c (added)
+++ fsf/trunk/libc/posix/tst-rfc3484-3.c Tue Nov 20 00:03:48 2007
@@ -1,0 +1,137 @@
+#include <stdbool.h>
+#include <stdio.h>
+#include <ifaddrs.h>
+
+/* Internal definitions used in the libc code.  */
+#define __getservbyname_r getservbyname_r
+#define __socket socket
+#define __getsockname getsockname
+#define __inet_aton inet_aton
+#define __gethostbyaddr_r gethostbyaddr_r
+#define __gethostbyname2_r gethostbyname2_r
+
+void
+attribute_hidden
+__check_pf (bool *p1, bool *p2, struct in6addrinfo **in6ai, size_t *in6ailen)
+{
+  *p1 = *p2 = true;
+  *in6ai = NULL;
+  *in6ailen = 0;
+}
+void
+attribute_hidden
+__check_native (uint32_t a1_index, int *a1_native,
+		uint32_t a2_index, int *a2_native)
+{
+}
+int
+__idna_to_ascii_lz (const char *input, char **output, int flags)
+{
+  return 0;
+}
+int
+__idna_to_unicode_lzlz (const char *input, char **output, int flags)
+{
+  *output = NULL;
+  return 0;
+}
+
+#include "../sysdeps/posix/getaddrinfo.c"
+
+service_user *__nss_hosts_database attribute_hidden;
+
+
+/* This is the beginning of the real test code.  The above defines
+   (among other things) the function rfc3484_sort.  */
+
+
+#if __BYTE_ORDER == __BIG_ENDIAN
+# define h(n) n
+#else
+# define h(n) __bswap_constant_32 (n)
+#endif
+
+struct sockaddr_in addrs[] =
+{
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a86d1d) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a85d03) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a82c3d) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a86002) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a802f3) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a80810) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xa0a85e02) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0xac162311) } },
+  { .sin_family = AF_INET, .sin_addr = { h (0x0a324572) } }
+};
+#define naddrs (sizeof (addrs) / sizeof (addrs[0]))
+static struct addrinfo ais[naddrs];
+static struct sort_result results[naddrs];
+
+static const int expected[naddrs] =
+  {
+    8, 0, 1, 2, 3, 4, 5, 6, 7
+  };
+
+static const struct scopeentry new_scopes[] =
+  {
+    { { { 169, 254, 0, 0 } }, h (0xffff0000), 2 },
+    { { { 127, 0, 0, 0 } }, h (0xff000000), 2 },
+    { { { 10, 0, 0, 0 } }, h (0xff000000), 5 },
+    { { { 192, 168, 0, 0 } }, h(0xffff0000), 5 },
+    { { { 0, 0, 0, 0 } }, h (0x00000000), 14 }
+  };
+
+
+ssize_t
+__getline (char **lineptr, size_t *n, FILE *s)
+{
+  *lineptr = NULL;
+  *n = 0;
+  return 0;
+}
+
+
+static int
+do_test (void)
+{
+  labels = default_labels;
+  precedence = default_precedence;
+  scopes= new_scopes;
+
+  struct sockaddr_in so;
+  so.sin_family = AF_INET;
+  so.sin_addr.s_addr = h (0x0aa85f19);
+
+  for (int i = 0; i < naddrs; ++i)
+    {
+      ais[i].ai_family = AF_INET;
+      ais[i].ai_addr = (struct sockaddr *) &addrs[i];
+      results[i].dest_addr = &ais[i];
+      results[i].got_source_addr = true;
+      memcpy(&results[i].source_addr, &so, sizeof (so));
+      results[i].source_addr_len = sizeof (so);
+      results[i].source_addr_flags = 0;
+      results[i].service_order = i;
+      results[i].prefixlen = 8;
+      results[i].index = 0;
+    }
+
+  struct sort_result_combo combo = { .results = results, .nresults = naddrs };
+  qsort_r (results, naddrs, sizeof (results[0]), rfc3484_sort, &combo);
+
+  int result = 0;
+  for (int i = 0; i < naddrs; ++i)
+    {
+      struct in_addr addr = ((struct sockaddr_in *) (results[i].dest_addr->ai_addr))->sin_addr;
+
+      int here = memcmp (&addr, &addrs[expected[i]].sin_addr,
+			 sizeof (struct in_addr));
+      printf ("[%d] = %s: %s\n", i, inet_ntoa (addr), here ? "FAIL" : "OK");
+      result |= here;
+    }
+
+  return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"

Modified: fsf/trunk/libc/posix/tst-rfc3484.c
==============================================================================
--- fsf/trunk/libc/posix/tst-rfc3484.c (original)
+++ fsf/trunk/libc/posix/tst-rfc3484.c Tue Nov 20 00:03:48 2007
@@ -85,6 +85,7 @@
 {
   labels = default_labels;
   precedence = default_precedence;
+  scopes= default_scopes;
 
   struct sockaddr_in so;
   so.sin_family = AF_INET;

Modified: fsf/trunk/libc/sysdeps/posix/getaddrinfo.c
==============================================================================
--- fsf/trunk/libc/sysdeps/posix/getaddrinfo.c (original)
+++ fsf/trunk/libc/sysdeps/posix/getaddrinfo.c Tue Nov 20 00:03:48 2007
@@ -1014,6 +1014,38 @@
 };
 
 
+#if __BYTE_ORDER == __BIG_ENDIAN
+# define htonl_c(n) n
+#else
+# define htonl_c(n) __bswap_constant_32 (n)
+#endif
+
+static const struct scopeentry
+{
+  union
+  {
+    char addr[4];
+    uint32_t addr32;
+  };
+  uint32_t netmask;
+  int32_t scope;
+} default_scopes[] =
+  {
+    /* Link-local addresses: scope 2.  */
+    { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 },
+    { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 },
+    /* Site-local addresses: scope 5.  */
+    { { { 10, 0, 0, 0 } }, htonl_c (0xff000000), 5 },
+    { { { 172, 16, 0, 0 } }, htonl_c (0xfff00000), 5 },
+    { { { 192, 168, 0, 0 } }, htonl_c (0xffff0000), 5 },
+    /* Default: scope 14.  */
+    { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 }
+  };
+
+/* The label table.  */
+static const struct scopeentry *scopes;
+
+
 static int
 get_scope (const struct sockaddr_storage *ss)
 {
@@ -1038,17 +1070,17 @@
   else if (ss->ss_family == PF_INET)
     {
       const struct sockaddr_in *in = (const struct sockaddr_in *) ss;
-      const uint8_t *addr = (const uint8_t *) &in->sin_addr;
-
-      /* RFC 3484 specifies how to map IPv6 addresses to scopes.
-	 169.254/16 and 127/8 are link-local.  */
-      if ((addr[0] == 169 && addr[1] == 254) || addr[0] == 127)
-	scope = 2;
-      else if (addr[0] == 10 || (addr[0] == 172 && (addr[1] & 0xf0) == 16)
-	       || (addr[0] == 192 && addr[1] == 168))
-	scope = 5;
-      else
-	scope = 14;
+
+      size_t cnt = 0;
+      while (1)
+	{
+	  if ((in->sin_addr.s_addr & scopes[cnt].netmask)
+	      == scopes[cnt].addr32)
+	    return scopes[cnt].scope;
+
+	  ++cnt;
+	}
+      /* NOTREACHED */
     }
   else
     /* XXX What is a good default?  */
@@ -1104,6 +1136,7 @@
 	= { .u6_addr8 = { 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 			  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
       7, 6 },
+    /* Additional rule for Teredo tunnels.  */
     { { .in6_u
 	= { .u6_addr8 = { 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 			  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } },
@@ -1489,6 +1522,13 @@
       precedence = default_precedence;
       free ((void *) old);
     }
+
+  if (scopes != default_scopes)
+    {
+      const struct scopeentry *old = scopes;
+      scopes = default_scopes;
+      free ((void *) old);
+    }
 }
 
 
@@ -1499,12 +1539,31 @@
 };
 
 
+struct scopelist
+{
+  struct scopeentry entry;
+  struct scopelist *next;
+};
+
+
 static void
 free_prefixlist (struct prefixlist *list)
 {
   while (list != NULL)
     {
       struct prefixlist *oldp = list;
+      list = list->next;
+      free (oldp);
+    }
+}
+
+
+static void
+free_scopelist (struct scopelist *list)
+{
+  while (list != NULL)
+    {
+      struct scopelist *oldp = list;
       list = list->next;
       free (oldp);
     }
@@ -1525,6 +1584,20 @@
 }
 
 
+static int
+scopecmp (const void *p1, const void *p2)
+{
+  const struct scopeentry *e1 = (const struct scopeentry *) p1;
+  const struct scopeentry *e2 = (const struct scopeentry *) p2;
+
+  if (e1->netmask > e2->netmask)
+    return -1;
+  if (e1->netmask == e2->netmask)
+    return 0;
+  return 1;
+}
+
+
 static void
 gaiconf_init (void)
 {
@@ -1534,6 +1607,9 @@
   struct prefixlist *precedencelist = NULL;
   size_t nprecedencelist = 0;
   bool precedencelist_nullbits = false;
+  struct scopelist *scopelist =  NULL;
+  size_t nscopelist = 0;
+  bool scopelist_nullbits = false;
 
   FILE *fp = fopen (GAICONF_FNAME, "rc");
   if (fp != NULL)
@@ -1624,7 +1700,7 @@
 			  || (bits = strtoul (cp, &endp, 10)) != ULONG_MAX
 			  || errno != ERANGE)
 		      && *endp == '\0'
-		      && bits <= INT_MAX
+		      && bits <= 128
 		      && ((val = strtoul (val2, &endp, 10)) != ULONG_MAX
 			  || errno != ERANGE)
 		      && *endp == '\0'
@@ -1658,6 +1734,73 @@
 		}
 	      break;
 
+	    case 7:
+	      if (strcmp (cmd, "scopev4") == 0)
+		{
+		  struct in6_addr prefix;
+		  unsigned long int bits;
+		  unsigned long int val;
+		  char *endp;
+
+		  bits = 32;
+		  __set_errno (0);
+		  cp = strchr (val1, '/');
+		  if (cp != NULL)
+		    *cp++ = '\0';
+		  if (inet_pton (AF_INET6, val1, &prefix))
+		    {
+		      if (IN6_IS_ADDR_V4MAPPED (&prefix)
+			  && (cp == NULL
+			      || (bits = strtoul (cp, &endp, 10)) != ULONG_MAX
+			      || errno != ERANGE)
+			  && *endp == '\0'
+			  && bits >= 96
+			  && bits <= 128
+			  && ((val = strtoul (val2, &endp, 10)) != ULONG_MAX
+			      || errno != ERANGE)
+			  && *endp == '\0'
+			  && val <= INT_MAX)
+			{
+			  struct scopelist *newp;
+			new_scope:
+			  newp = malloc (sizeof (*newp));
+			  if (newp == NULL)
+			    {
+			      free (line);
+			      fclose (fp);
+			      goto no_file;
+			    }
+
+			  newp->entry.netmask = htonl (bits != 96
+						       ? (0xffffffff
+							  << (128 - bits))
+						       : 0);
+			  newp->entry.addr32 = (prefix.s6_addr32[3]
+						& newp->entry.netmask);
+			  newp->entry.scope = val;
+			  newp->next = scopelist;
+			  scopelist = newp;
+			  ++nscopelist;
+			  scopelist_nullbits |= bits == 96;
+			}
+		    }
+		  else if (inet_pton (AF_INET, val1, &prefix.s6_addr32[3])
+			   && (cp == NULL
+			       || (bits = strtoul (cp, &endp, 10)) != ULONG_MAX
+			       || errno != ERANGE)
+			   && *endp == '\0'
+			   && bits <= 32
+			   && ((val = strtoul (val2, &endp, 10)) != ULONG_MAX
+			       || errno != ERANGE)
+			   && *endp == '\0'
+			   && val <= INT_MAX)
+		    {
+		      bits += 96;
+		      goto new_scope;
+		    }
+		}
+	      break;
+
 	    case 10:
 	      if (strcmp (cmd, "precedence") == 0)
 		{
@@ -1741,11 +1884,51 @@
 
 	  /* Sort the entries so that the most specific ones are at
 	     the beginning.  */
-	  qsort (new_precedence, nprecedencelist, sizeof (*new_labels),
+	  qsort (new_precedence, nprecedencelist, sizeof (*new_precedence),
 		 prefixcmp);
 	}
       else
 	new_precedence = (struct prefixentry *) default_precedence;
+
+      struct scopeentry *new_scopes;
+      if (nscopelist > 0)
+	{
+	  if (!scopelist_nullbits)
+	    ++nscopelist;
+	  new_scopes = malloc (nscopelist * sizeof (*new_scopes));
+	  if (new_scopes == NULL)
+	    {
+	      if (new_labels != default_labels)
+		free (new_labels);
+	      if (new_precedence != default_precedence)
+		free (new_precedence);
+	      goto no_file;
+	    }
+
+	  int i = nscopelist;
+	  if (!scopelist_nullbits)
+	    {
+	      --i;
+	      new_scopes[i].addr32 = 0;
+	      new_scopes[i].netmask = 0;
+	      new_scopes[i].scope = 14;
+	    }
+
+	  struct scopelist *l = scopelist;
+	  while (i-- > 0)
+	    {
+	      new_scopes[i] = l->entry;
+	      l = l->next;
+	    }
+	  free_scopelist (scopelist);
+
+	  /* Sort the entries so that the most specific ones are at
+	     the beginning.  */
+	  qsort (new_scopes, nscopelist, sizeof (*new_scopes),
+		 scopecmp);
+	}
+      else
+	new_scopes = (struct scopeentry *) default_scopes;
 
       /* Now we are ready to replace the values.  */
       const struct prefixentry *old = labels;
@@ -1758,6 +1941,11 @@
       if (old != default_precedence)
 	free ((void *) old);
 
+      const struct scopeentry *oldscope = scopes;
+      scopes = new_scopes;
+      if (oldscope != default_scopes)
+	free ((void *) oldscope);
+
       gaiconf_mtime = st.st_mtim;
     }
   else
@@ -1765,6 +1953,7 @@
     no_file:
       free_prefixlist (labellist);
       free_prefixlist (precedencelist);
+      free_scopelist (scopelist);
 
       /* If we previously read the file but it is gone now, free the
 	 old data and use the builtin one.  Leave the reload flag