# PaCkAgE DaTaStReAm WULgproftpd 1 6957 WULlibidl 1 6143 # end of header 0707010001db99000081a40000000000000001000000014175dc3600000099000000200000000000000000000000000000001400000000WULgproftpd/pkginfoPKG=WULgproftpd NAME=gproftpd ARCH=sun4u VERSION=8.1.7 CATEGORY=application VENDOR=GNU EMAIL=info@gnu.org PSTAMP=Adam McKinney BASEDIR=/usr CLASSES=none 0707010001db98000081a40000000000000001000000014175dc360000183c000000200000000000000000000000000000001300000000WULgproftpd/pkgmap: 1 6957 1 f none AUTHORS 0644 bin bin 34 3293 1086048609 1 f none Autoinstall 0755 bin bin 103 9316 1058141108 1 f none COPYING 0644 bin bin 17987 29468 1073437779 1 f none ChangeLog 0644 bin bin 2290 59942 1087517960 1 f none INSTALL 0644 bin bin 892 12496 1085776507 1 f none MAKE_RPM 0755 bin bin 181 15461 1085780741 1 f none MAKE_TGZ 0755 bin bin 277 23157 1088034092 1 f none Makefile 0644 bin bin 19539 31705 1098085941 1 f none Makefile.am 0644 bin bin 2241 47785 1085777883 1 f none Makefile.in 0644 bin bin 19498 18125 1085801177 1 f none NEWS 0644 bin bin 0 0 1072194528 1 f none README 0644 bin bin 225 16834 1047576123 1 f none aclocal.m4 0644 bin bin 51974 19610 1085799682 1 f none autogen.sh 0755 bin bin 4039 58456 1056655658 1 f none config.guess 0755 bin bin 38504 57825 1043665384 1 f none config.h 0644 bin bin 3314 63414 1098085949 1 f none config.h.in 0644 bin bin 2903 33223 1085799002 1 f none config.log 0644 bin bin 22136 43976 1098085971 1 f none config.status 0755 bin bin 38917 4460 1098085930 1 f none config.sub 0755 bin bin 28224 41763 1043665384 1 f none configure 0755 bin bin 211135 30386 1087516389 1 f none configure.in 0644 bin bin 3874 42796 1087516378 1 f none depcomp 0755 bin bin 12123 22100 1027946393 1 d none desktop 0755 bin bin 1 f none desktop/net-gproftpd.desktop 0644 bin bin 463 41145 1048184234 1 d none dists 0755 bin bin 1 f none dists/Readme.dists 0644 bin bin 107 10111 1065912597 1 d none dists/redhat 0755 bin bin 1 d none dists/redhat/pam.d 0755 bin bin 1 f none dists/redhat/pam.d/gproftpd 0644 bin bin 300 25413 1060212104 1 d none dists/redhat/security 0755 bin bin 1 d none dists/redhat/security/console.apps 0755 bin bin 1 f none dists/redhat/security/console.apps/gproftpd 0644 bin bin 50 4301 1058454037 1 d none etc 0755 bin bin 1 f none etc/gproftpd.pem 0600 bin bin 11699 8991 1061409653 1 f none etc/gprotls.conf 0600 bin bin 422 31999 1073453062 1 f none gproftpd.spec 0644 bin bin 2119 58683 1086742545 1 f none install-sh 0755 bin bin 5569 60232 1027946393 1 f none make_package 0777 bin bin 4634 42305 1098242963 1 f none missing 0755 bin bin 10270 62944 1027946393 1 f none mkinstalldirs 0755 bin bin 1801 1681 1027946393 1 d none pixmaps 0755 bin bin 1 f none pixmaps/gproftpd.png 0644 bin bin 7887 20221 1042647842 1 f none pixmaps/gproftpd16.png 0644 bin bin 813 34801 1042647842 1 f none pixmaps/gproftpd32.png 0644 bin bin 2604 5830 1042647842 1 f none pixmaps/gproftpd36.xpm 0644 bin bin 14018 11703 1042647842 1 f none pixmaps/gproftpd48.png 0644 bin bin 4953 38211 1042647842 1 f none pixmaps/gproftpd64.png 0644 bin bin 7887 20221 1042647842 1 i pkginfo 153 12369 1098243126 1 d none po 0755 bin bin 1 f none po/ChangeLog 0644 bin bin 1340 28812 1087517776 1 f none po/Makefile 0644 bin bin 7456 26847 1098085956 1 f none po/Makefile.in 0644 bin bin 7377 20672 1098085947 1 f none po/Makefile.in.in 0644 bin bin 7420 21493 1085799681 1 f none po/POTFILES 0644 bin bin 79 6175 1098085917 1 f none po/POTFILES.in 0644 bin bin 114 10470 1046193802 1 f none po/es.gmo 0644 bin bin 39434 37357 1098086399 1 f none po/es.po 0600 bin bin 42399 581 1087517627 1 f none po/gproftpd.pot 0644 bin bin 25776 65025 1087445658 1 f none po/sv.gmo 0644 bin bin 42274 2646 1098086399 1 f none po/sv.po 0644 bin bin 42551 10444 1087446506 1 f none po/translation_howto 0755 bin bin 1105 28772 1087429452 1 d none src 0755 bin bin 1 d none src/.deps 0755 bin bin 1 f none src/.deps/callbacks.Po 0644 bin bin 27199 1117 1098086373 1 f none src/.deps/dialogs.Po 0644 bin bin 23933 36277 1098086245 1 f none src/.deps/functions.Po 0644 bin bin 25399 35675 1098086211 1 f none src/.deps/gproftpd.pot 0644 bin bin 22902 39435 1085791932 1 f none src/.deps/gproftpd_window.Po 0644 bin bin 23935 37059 1098086199 1 f none src/.deps/gprostats.Po 0644 bin bin 25215 19615 1098086397 1 f none src/.deps/import_functions.Po 0644 bin bin 25386 35519 1098086266 1 f none src/.deps/import_users.Po 0644 bin bin 25687 62091 1077610888 1 f none src/.deps/import_window.Po 0644 bin bin 25383 35172 1098086254 1 f none src/.deps/interface.Po 0644 bin bin 24171 56597 1076963067 1 f none src/.deps/main.Po 0644 bin bin 23936 36725 1098086057 1 f none src/.deps/support.Po 0644 bin bin 25213 19219 1098086062 1 f none src/Makefile 0644 bin bin 13843 23774 1098085944 1 f none src/Makefile.am 0644 bin bin 569 47587 1077611220 1 f none src/Makefile.in 0644 bin bin 14428 509 1085799693 1 f none src/callbacks.c 0644 bin bin 273134 3742 1089739408 1 f none src/callbacks.h 0644 bin bin 10488 34587 1077711873 1 f none src/callbacks.o 0644 bin bin 430304 30852 1098086376 1 f none src/dialogs.c 0644 bin bin 99840 20919 1087517124 1 f none src/dialogs.h 0644 bin bin 533 50463 1076963556 1 f none src/dialogs.o 0644 bin bin 158700 49666 1098086246 1 f none src/functions.c 0644 bin bin 10600 45331 1089739393 1 f none src/functions.h 0644 bin bin 342 29687 1077585360 1 f none src/functions.o 0644 bin bin 24236 14060 1098086211 1 f none src/gproftpd 0755 bin bin 571488 12176 1098086382 1 f none src/gproftpd_window.c 0644 bin bin 166625 54899 1087445581 1 f none src/gproftpd_window.h 0644 bin bin 64 5724 1076959959 1 f none src/gproftpd_window.o 0644 bin bin 245644 50331 1098086200 1 f none src/gprostats 0755 bin bin 54956 53822 1098086398 1 f none src/gprostats.c 0644 bin bin 17756 53057 1098086040 1 f none src/gprostats.o 0644 bin bin 46052 26450 1098086397 1 f none src/import_functions.c 0644 bin bin 20685 10881 1089740018 1 f none src/import_functions.h 0644 bin bin 635 42664 1077707416 1 f none src/import_functions.o 0644 bin bin 64408 53760 1098086266 1 f none src/import_window.c 0644 bin bin 11880 24470 1086636556 1 f none src/import_window.h 0644 bin bin 62 5543 1077691595 1 f none src/import_window.o 0644 bin bin 26972 2800 1098086255 1 f none src/main.c 0644 bin bin 1597 64296 1077137109 1 f none src/main.o 0644 bin bin 11660 11656 1098086057 1 f none src/osx_functions.c 0644 bin bin 12313 9805 1077782635 1 f none src/support.c 0644 bin bin 4899 49606 1086654623 1 f none src/support.h 0644 bin bin 1915 17497 1086654512 1 f none src/support.o 0644 bin bin 17908 64289 1098086063 1 f none stamp-h1 0644 bin bin 23 2161 1098085951 0707010001dff3000081a4000000000000000100000001417fbe6d000000a4000000200000000000000000000000000000001200000000WULlibidl/pkginfoPKG=WULlibidl NAME=libIDL ARCH=sun4u VERSION=0.6.8 CATEGORY=library VENDOR= Andrew T. Veliath EMAIL=andrewtv@usa.net PSTAMP=adam m! BASEDIR=/usr/local CLASSES=none 0707010001dff2000081a4000000000000000100000001417fbe6e00000fa4000000200000000000000000000000000000001100000000WULlibidl/pkgmap: 1 6143 1 d none .libs 0755 bin bin 1 s none .libs/libIDL-0.6.so.0=libIDL-0.6.so.0.4.4 1 f none .libs/libIDL-0.6.so.0.4.4 0755 bin bin 293532 13765 1098890625 1 f none .libs/libIDL.a 0644 bin bin 425644 44479 1098890627 1 s none .libs/libIDL.la=../libIDL.la 1 f none .libs/libIDL.lai 0644 bin bin 666 55012 1098890627 1 s none .libs/libIDL.so=libIDL-0.6.so.0.4.4 1 f none .libs/tstidl 0755 bin bin 35088 39489 1098890629 1 f none AUTHORS 0644 bin bin 37 3325 907871654 1 f none BUGS 0644 bin bin 148 13179 918324125 1 f none COPYING 0644 bin bin 25265 36529 919450931 1 f none ChangeLog 0644 bin bin 25460 6789 940183485 1 f none IDL.h 0644 bin bin 23958 25835 940183451 1 f none IDL.h.new 0644 bin bin 23958 25835 1098890531 1 f none IDL.h.new.in 0644 bin bin 24110 37650 929394862 1 f none INSTALL 0644 bin bin 7831 34424 922122791 1 f none Makefile 0644 bin bin 20693 22400 1098890530 1 f none Makefile.am 0644 bin bin 1993 21652 940170549 1 f none Makefile.in 0644 bin bin 20485 64561 940183725 1 f none Makefile.msc 0644 bin bin 1881 808 1098890530 1 f none Makefile.msc.in 0644 bin bin 1881 15 920572381 1 f none NEWS 0644 bin bin 5134 60419 925010245 1 f none README 0644 bin bin 3748 7126 925009665 1 f none README.win32 0644 bin bin 845 9255 919450399 1 f none acinclude.m4 0644 bin bin 1371 33485 940170549 1 f none aclocal.m4 0644 bin bin 28080 53696 940183413 1 f none config.cache 0644 bin bin 2017 55088 1098890529 1 f none config.guess 0755 bin bin 31247 38915 940183412 1 f none config.log 0644 bin bin 40913 58099 1098890528 1 f none config.status 0755 bin bin 6768 17755 1098890529 1 f none config.sub 0755 bin bin 24171 61097 940183412 1 f none configure 0755 bin bin 95474 25332 940183417 1 f none configure.in 0644 bin bin 3317 49276 940170549 1 f none install-sh 0755 bin bin 5584 63752 899232019 1 f none lexer.c 0644 bin bin 70462 16315 940183492 1 f none lexer.l 0644 bin bin 9424 5162 933647940 1 f none lexer.lo 0644 bin bin 77268 4377 1098890576 1 f none lexer.o 0644 bin bin 70744 7502 1098890583 1 f none libIDL-config 0644 bin bin 1990 19606 1098890530 1 f none libIDL-config.in 0644 bin bin 1991 19238 924274171 1 f none libIDL.def 0644 bin bin 2007 43139 923014042 1 f none libIDL.info 0644 bin bin 11678 16176 940183495 1 f none libIDL.la 0644 bin bin 665 54896 1098890627 1 f none libIDL.m4 0644 bin bin 8314 56797 1098890530 1 f none libIDL.m4.in 0644 bin bin 8332 58321 919624184 1 f none libIDL.spec 0644 bin bin 1727 16114 1098890531 1 f none libIDL.spec.in 0644 bin bin 1746 17697 922126358 1 f none libIDL.texi 0644 bin bin 10479 64132 923973973 1 f none libIDLConf.sh 0644 bin bin 248 20503 1098890630 1 f none libIDLConf.sh.in 0644 bin bin 209 15990 938373757 1 f none libtool 0755 bin bin 115648 33550 1098890522 1 f none ltconfig 0755 bin bin 92518 31480 940183412 1 f none ltmain.sh 0644 bin bin 107536 49612 940183412 1 f none make_package 0755 bin bin 4634 42305 1098890692 1 f none missing 0755 bin bin 6274 23077 899232022 1 f none mkinstalldirs 0755 bin bin 735 54793 899232022 1 f none ns.c 0644 bin bin 14601 16103 928169861 1 f none ns.lo 0644 bin bin 46684 41937 1098890589 1 f none ns.o 0644 bin bin 45724 30804 1098890593 1 f none parser.c 0644 bin bin 104707 39924 940183492 1 f none parser.h 0644 bin bin 1562 49886 940183492 1 f none parser.lo 0644 bin bin 124556 57696 1098890554 1 f none parser.o 0644 bin bin 123560 65394 1098890565 1 f none parser.y 0644 bin bin 48671 28108 928948275 1 i pkginfo 164 13073 1098890861 1 f none rename.h 0644 bin bin 1408 48505 912884302 1 f none stamp-parser 0644 bin bin 0 0 940183492 1 f none texinfo.tex 0644 bin bin 183111 21239 922122791 1 f none tstidl 0755 bin bin 3312 65034 1098890629 1 f none tstidl.c 0644 bin bin 6686 51920 940183319 1 f none tstidl.o 0644 bin bin 17924 26594 1098890628 1 f none util.c 0644 bin bin 83005 22346 940170549 1 f none util.h 0644 bin bin 4051 62141 928942411 1 f none util.lo 0644 bin bin 191448 59445 1098890610 1 f none util.o 0644 bin bin 181740 786 1098890623 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!0707010001db99000081a40000000000000001000000014175dc3600000099000000200000000000000000000000000000000800000000pkginfoPKG=WULgproftpd NAME=gproftpd ARCH=sun4u VERSION=8.1.7 CATEGORY=application VENDOR=GNU EMAIL=info@gnu.org PSTAMP=Adam McKinney BASEDIR=/usr CLASSES=none 0707010001db98000081a40000000000000001000000014175dc360000183c000000200000000000000000000000000000000700000000pkgmap: 1 6957 1 f none AUTHORS 0644 bin bin 34 3293 1086048609 1 f none Autoinstall 0755 bin bin 103 9316 1058141108 1 f none COPYING 0644 bin bin 17987 29468 1073437779 1 f none ChangeLog 0644 bin bin 2290 59942 1087517960 1 f none INSTALL 0644 bin bin 892 12496 1085776507 1 f none MAKE_RPM 0755 bin bin 181 15461 1085780741 1 f none MAKE_TGZ 0755 bin bin 277 23157 1088034092 1 f none Makefile 0644 bin bin 19539 31705 1098085941 1 f none Makefile.am 0644 bin bin 2241 47785 1085777883 1 f none Makefile.in 0644 bin bin 19498 18125 1085801177 1 f none NEWS 0644 bin bin 0 0 1072194528 1 f none README 0644 bin bin 225 16834 1047576123 1 f none aclocal.m4 0644 bin bin 51974 19610 1085799682 1 f none autogen.sh 0755 bin bin 4039 58456 1056655658 1 f none config.guess 0755 bin bin 38504 57825 1043665384 1 f none config.h 0644 bin bin 3314 63414 1098085949 1 f none config.h.in 0644 bin bin 2903 33223 1085799002 1 f none config.log 0644 bin bin 22136 43976 1098085971 1 f none config.status 0755 bin bin 38917 4460 1098085930 1 f none config.sub 0755 bin bin 28224 41763 1043665384 1 f none configure 0755 bin bin 211135 30386 1087516389 1 f none configure.in 0644 bin bin 3874 42796 1087516378 1 f none depcomp 0755 bin bin 12123 22100 1027946393 1 d none desktop 0755 bin bin 1 f none desktop/net-gproftpd.desktop 0644 bin bin 463 41145 1048184234 1 d none dists 0755 bin bin 1 f none dists/Readme.dists 0644 bin bin 107 10111 1065912597 1 d none dists/redhat 0755 bin bin 1 d none dists/redhat/pam.d 0755 bin bin 1 f none dists/redhat/pam.d/gproftpd 0644 bin bin 300 25413 1060212104 1 d none dists/redhat/security 0755 bin bin 1 d none dists/redhat/security/console.apps 0755 bin bin 1 f none dists/redhat/security/console.apps/gproftpd 0644 bin bin 50 4301 1058454037 1 d none etc 0755 bin bin 1 f none etc/gproftpd.pem 0600 bin bin 11699 8991 1061409653 1 f none etc/gprotls.conf 0600 bin bin 422 31999 1073453062 1 f none gproftpd.spec 0644 bin bin 2119 58683 1086742545 1 f none install-sh 0755 bin bin 5569 60232 1027946393 1 f none make_package 0777 bin bin 4634 42305 1098242963 1 f none missing 0755 bin bin 10270 62944 1027946393 1 f none mkinstalldirs 0755 bin bin 1801 1681 1027946393 1 d none pixmaps 0755 bin bin 1 f none pixmaps/gproftpd.png 0644 bin bin 7887 20221 1042647842 1 f none pixmaps/gproftpd16.png 0644 bin bin 813 34801 1042647842 1 f none pixmaps/gproftpd32.png 0644 bin bin 2604 5830 1042647842 1 f none pixmaps/gproftpd36.xpm 0644 bin bin 14018 11703 1042647842 1 f none pixmaps/gproftpd48.png 0644 bin bin 4953 38211 1042647842 1 f none pixmaps/gproftpd64.png 0644 bin bin 7887 20221 1042647842 1 i pkginfo 153 12369 1098243126 1 d none po 0755 bin bin 1 f none po/ChangeLog 0644 bin bin 1340 28812 1087517776 1 f none po/Makefile 0644 bin bin 7456 26847 1098085956 1 f none po/Makefile.in 0644 bin bin 7377 20672 1098085947 1 f none po/Makefile.in.in 0644 bin bin 7420 21493 1085799681 1 f none po/POTFILES 0644 bin bin 79 6175 1098085917 1 f none po/POTFILES.in 0644 bin bin 114 10470 1046193802 1 f none po/es.gmo 0644 bin bin 39434 37357 1098086399 1 f none po/es.po 0600 bin bin 42399 581 1087517627 1 f none po/gproftpd.pot 0644 bin bin 25776 65025 1087445658 1 f none po/sv.gmo 0644 bin bin 42274 2646 1098086399 1 f none po/sv.po 0644 bin bin 42551 10444 1087446506 1 f none po/translation_howto 0755 bin bin 1105 28772 1087429452 1 d none src 0755 bin bin 1 d none src/.deps 0755 bin bin 1 f none src/.deps/callbacks.Po 0644 bin bin 27199 1117 1098086373 1 f none src/.deps/dialogs.Po 0644 bin bin 23933 36277 1098086245 1 f none src/.deps/functions.Po 0644 bin bin 25399 35675 1098086211 1 f none src/.deps/gproftpd.pot 0644 bin bin 22902 39435 1085791932 1 f none src/.deps/gproftpd_window.Po 0644 bin bin 23935 37059 1098086199 1 f none src/.deps/gprostats.Po 0644 bin bin 25215 19615 1098086397 1 f none src/.deps/import_functions.Po 0644 bin bin 25386 35519 1098086266 1 f none src/.deps/import_users.Po 0644 bin bin 25687 62091 1077610888 1 f none src/.deps/import_window.Po 0644 bin bin 25383 35172 1098086254 1 f none src/.deps/interface.Po 0644 bin bin 24171 56597 1076963067 1 f none src/.deps/main.Po 0644 bin bin 23936 36725 1098086057 1 f none src/.deps/support.Po 0644 bin bin 25213 19219 1098086062 1 f none src/Makefile 0644 bin bin 13843 23774 1098085944 1 f none src/Makefile.am 0644 bin bin 569 47587 1077611220 1 f none src/Makefile.in 0644 bin bin 14428 509 1085799693 1 f none src/callbacks.c 0644 bin bin 273134 3742 1089739408 1 f none src/callbacks.h 0644 bin bin 10488 34587 1077711873 1 f none src/callbacks.o 0644 bin bin 430304 30852 1098086376 1 f none src/dialogs.c 0644 bin bin 99840 20919 1087517124 1 f none src/dialogs.h 0644 bin bin 533 50463 1076963556 1 f none src/dialogs.o 0644 bin bin 158700 49666 1098086246 1 f none src/functions.c 0644 bin bin 10600 45331 1089739393 1 f none src/functions.h 0644 bin bin 342 29687 1077585360 1 f none src/functions.o 0644 bin bin 24236 14060 1098086211 1 f none src/gproftpd 0755 bin bin 571488 12176 1098086382 1 f none src/gproftpd_window.c 0644 bin bin 166625 54899 1087445581 1 f none src/gproftpd_window.h 0644 bin bin 64 5724 1076959959 1 f none src/gproftpd_window.o 0644 bin bin 245644 50331 1098086200 1 f none src/gprostats 0755 bin bin 54956 53822 1098086398 1 f none src/gprostats.c 0644 bin bin 17756 53057 1098086040 1 f none src/gprostats.o 0644 bin bin 46052 26450 1098086397 1 f none src/import_functions.c 0644 bin bin 20685 10881 1089740018 1 f none src/import_functions.h 0644 bin bin 635 42664 1077707416 1 f none src/import_functions.o 0644 bin bin 64408 53760 1098086266 1 f none src/import_window.c 0644 bin bin 11880 24470 1086636556 1 f none src/import_window.h 0644 bin bin 62 5543 1077691595 1 f none src/import_window.o 0644 bin bin 26972 2800 1098086255 1 f none src/main.c 0644 bin bin 1597 64296 1077137109 1 f none src/main.o 0644 bin bin 11660 11656 1098086057 1 f none src/osx_functions.c 0644 bin bin 12313 9805 1077782635 1 f none src/support.c 0644 bin bin 4899 49606 1086654623 1 f none src/support.h 0644 bin bin 1915 17497 1086654512 1 f none src/support.o 0644 bin bin 17908 64289 1098086063 1 f none stamp-h1 0644 bin bin 23 2161 1098085951 0707010001db9a000041ed0000000000000001000000084175dc3a00000000000000200000000000000000000000000000000600000000reloc0707010001db9b000081a400000002000000020000000140bbc96100000022000000200000000000000000000000000000000e00000000reloc/AUTHORSMagnus Löf: magnus-swe@telia.com 0707010001db9c000081ed0000000200000002000000013f11f3b400000067000000200000000000000000000000000000001200000000reloc/Autoinstall./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/sbin make make install 0707010001db9d000081a40000000200000002000000013ffb5c5300004643000000200000000000000000000000000000000e00000000reloc/COPYING GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. 0707010001db9e000081a400000002000000020000000140d23508000008f2000000200000000000000000000000000000001000000000reloc/ChangeLogVersion 8.1.7 ----------------------------------------------- Moved the user importer button to the servers tab. Made everything translatable. Added Swedish translation. Rudolf kastl specfile remake (thanks) Diego Escalante Spanish translation (thanks) TODO: ------------------------------------------ 1. More translations. 2. Dynamic directories and permission settings in the userchanger. 3. When changing group the systemgroup should also be changed maybe (add question etc). Version 8.1.6 ----------------------------------------------- Code cleanup. Added the PassivePorts and MasqueradeAddress directives. Added a user importer to the entire tab. Added a function to newline separate the users and vhosts. Version 8.1.5 ----------------------------------------------- Fixed a bug in the xferlog parsers action code. The GProftpd version is now set in configure.in. Fixed wrong salting for users that couldnt link with -lcrypt. Fixed configure.in to reflect proftpd. Added functions for list_disc and list_secure. Added useradd, userdel and passwd support for OSX. Version 8.1.4: ----------------------------------------- GProftpd will now use the MD5 crypt extension if it exists. Fixed the selections for the directory paths. Randomized usernames and passwords in upper or lower case can now be selected. Version 8.1.3 ------------------------------------------ Added the Bind and SocketBindTight directives. Port can now be set to 0 to turn a server off for a while. Added a check for /bin/false in shells. Version 8.1.2 ------------------------------------------ Fixed adding an additional directive if there was no users and no vhosts. GProstats generation now shows the default servers name. Version 8.1.1 codename christmas stocking. ------------------------------------------ Fixed an uint64 dependancy for Darwin in gprostats.c Split filenames are now handled correctly in the xfertab. Added some more internal securitychecks. Added The ability to manage multiple virtualhosts, this involved a remake of most functions and includes: Changing, adding and deleting virtualhosts. Add user to, delete user from and change a user in a virtualhost. Fixed an error when passwording users and some Linux distributions. 0707010001db9f000081a400000002000000020000000140b7a27b0000037c000000200000000000000000000000000000000e00000000reloc/INSTALL Installation instructions: ---------------------------------- This package cant be installed without giving the correct configure options. For any GNU/Linux system following the FHS the proper options could be: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/sbin The sysconfdir should be pointed to the location of proftpd.conf. After the configure stage has completed with no errors its time to compile the source: make The final stage, installing the program and its datafiles: make install Currently gproftpd has support for the following systems to a varying degree: Linux FreeBSD OpenBSD NetBSD Darwin Mac OSX AIX HP-UX Solaris SunOS If gproftpd doesnt work flawlessly on your system and you know how to correct it then send a mail explaining how to this in detail, preferrably with a patch to: magnus-swe@telia.com 0707010001dba0000081ed00000002000000020000000140b7b305000000b5000000200000000000000000000000000000000f00000000reloc/MAKE_RPM#!/bin/sh # Make a Redhat RPM. version='8.1.7' cd .. tar -zhcvf /usr/src/redhat/SOURCES/gproftpd-$version.tar.gz gproftpd-$version cd gproftpd-$version rpmbuild -ba gproftpd.spec 0707010001dba1000081ed00000002000000020000000140da152c00000115000000200000000000000000000000000000000f00000000reloc/MAKE_TGZ#!/bin/sh version='8.1.7' make clean rm -f config.cache rm -f Makefile rm -f config.h rm -f config.log rm -f config.status rm -f *.bak rm -f src/interface.c.bak rm -f src/interface.h.bak rm -f stamp* rm -f po/*.gmo cd .. tar -hzcvf gproftpd-$version.tar.gz gproftpd-$version 0707010001dba2000081a40000000200000002000000014173763500004c53000000200000000000000000000000000000000f00000000reloc/Makefile# Makefile.in generated by automake 1.7.8 from Makefile.am. # Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. srcdir = . top_srcdir = . pkgdatadir = $(datadir)/gproftpd pkglibdir = $(libdir)/gproftpd pkgincludedir = $(includedir)/gproftpd top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = ./install-sh -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.9 ACLOCAL = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run aclocal-1.7 AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run tar AUTOCONF = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run automake-1.7 AWK = gawk CATALOGS = sv.gmo es.gmo CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -g -O2 -Wall CPP = gcc -E CPPFLAGS = CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = GETTEXT_PACKAGE = gproftpd GMOFILES = sv.gmo es.gmo GMSGFMT = /opt/csw/bin/gmsgfmt INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s INSTOBJEXT = .mo INTLLIBS = LDFLAGS = -lsocket LIBOBJS = LIBS = LOCALSTATEDIR = /usr/var LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEINFO = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run makeinfo MKINSTALLDIRS = ./mkinstalldirs MSGFMT = /usr/bin/msgfmt OBJEXT = o PACKAGE = gproftpd PACKAGE_BUGREPORT = PACKAGE_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include PACKAGE_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config POFILES = sv.po es.po POSUB = po PO_IN_DATADIR_FALSE = PO_IN_DATADIR_TRUE = SET_MAKE = SHELL = /bin/bash STRIP = SYSCONFDIR = /usr/etc USE_NLS = yes VERSION = 8.1.7 XGETTEXT = : ac_ct_CC = gcc ac_ct_STRIP = am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.9 build_alias = build_cpu = sparc build_os = solaris2.9 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.9 host_alias = host_cpu = sparc host_os = solaris2.9 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/gproftpd-8.1.7/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = SUBDIRS = src po EXTRA_DIST = \ autogen.sh \ gproftpd.glade \ gproftpd.gladep subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ ps-recursive install-info-recursive uninstall-info-recursive \ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \ COPYING ChangeLog INSTALL Makefile.am NEWS aclocal.m4 \ config.guess config.h.in config.sub configure configure.in \ depcomp install-sh missing mkinstalldirs DIST_SUBDIRS = $(SUBDIRS) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: # $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): # configure.in cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: # $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOHEADER) touch $(srcdir)/config.h.in distclean-hdr: -rm -f config.h stamp-h1 uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if (etags --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ else \ include_option=--include; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . distdir = $(PACKAGE)-$(VERSION) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) $(mkinstalldirs) $(distdir)/po @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist dist-all: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && rm -f $(distdir).tar.gz \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-data-local install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-recursive ctags ctags-recursive dist \ dist-all dist-gzip distcheck distclean distclean-generic \ distclean-hdr distclean-recursive distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am dvi-recursive info \ info-am info-recursive install install-am install-data \ install-data-am install-data-local install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \ ps-recursive tags tags-recursive uninstall uninstall-am \ uninstall-info-am uninstall-info-recursive uninstall-recursive install-data-local: @$(NORMAL_INSTALL) if test -d $(srcdir)/pixmaps; then \ $(mkinstalldirs) $(datadir)/pixmaps/gproftpd; \ for pixmap in $(srcdir)/pixmaps/*; do \ if test -f $$pixmap; then \ $(INSTALL_DATA) $$pixmap $(datadir)/pixmaps/gproftpd; \ fi \ done \ fi; if test -d $(datadir)/pixmaps; then \ cp pixmaps/gproftpd.png $(datadir)/pixmaps/; \ fi; if test -d $(datadir)/applications; then \ cp desktop/net-gproftpd.desktop $(datadir)/applications/; \ fi ; if test -d $(datadir)/gnome/apps/Internet; then \ cp desktop/net-gproftpd.desktop $(datadir)/gnome/apps/Internet/; \ fi ; if test -d $(datadir)/doc/gproftpd-$(VERSION); then \ cp AUTHORS $(datadir)/doc/gproftpd-$(VERSION)/; \ cp README $(datadir)/doc/gproftpd-$(VERSION)/; \ cp ChangeLog $(datadir)/doc/gproftpd-$(VERSION)/; \ cp COPYING $(datadir)/doc/gproftpd-$(VERSION)/; \ fi; if test ! -d $(datadir)/doc/gproftpd-$(VERSION); then \ $(mkinstalldirs) $(datadir)/doc/gproftpd-$(VERSION); \ cp AUTHORS $(datadir)/doc/gproftpd-$(VERSION)/; \ cp README $(datadir)/doc/gproftpd-$(VERSION)/; \ cp ChangeLog $(datadir)/doc/gproftpd-$(VERSION)/; \ cp COPYING $(datadir)/doc/gproftpd-$(VERSION)/; \ fi; if test ! -d $(sysconfdir)/gproftpd; then \ $(mkinstalldirs) $(sysconfdir)/gproftpd; \ fi; if test ! -f $(sysconfdir)/gproftpd/gproftpd.pem; then \ cp etc/gproftpd.pem $(sysconfdir)/gproftpd/; \ chmod 0600 $(sysconfdir)/gproftpd/gproftpd.pem; \ fi; if test ! -f $(sysconfdir)/gproftpd/gprotls.conf; then \ cp etc/gprotls.conf $(sysconfdir)/gproftpd/; \ chmod 0600 $(sysconfdir)/gproftpd/gprotls.conf; \ fi; @echo "" @echo "Start GProFTPD by typing gproftpd in a terminal" @echo "or start it from the menu." @echo "" @echo "Send bugreports, comments or questions to magnus-swe@telia.com" @echo "" dist-hook: if test -d pixmaps; then \ mkdir $(distdir)/pixmaps; \ for pixmap in pixmaps/*; do \ if test -f $$pixmap; then \ cp -p $$pixmap $(distdir)/pixmaps; \ fi \ done \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dba3000081a400000002000000020000000140b7a7db000008c1000000200000000000000000000000000000001200000000reloc/Makefile.am## Process this file with automake to produce Makefile.in VERSION = 8.1.7 SUBDIRS = src EXTRA_DIST = \ autogen.sh \ gproftpd.glade \ gproftpd.gladep install-data-local: @$(NORMAL_INSTALL) if test -d $(srcdir)/pixmaps; then \ $(mkinstalldirs) $(datadir)/pixmaps/gproftpd; \ for pixmap in $(srcdir)/pixmaps/*; do \ if test -f $$pixmap; then \ $(INSTALL_DATA) $$pixmap $(datadir)/pixmaps/gproftpd; \ fi \ done \ fi; if test -d $(datadir)/pixmaps; then \ cp pixmaps/gproftpd.png $(datadir)/pixmaps/; \ fi; if test -d $(datadir)/applications; then \ cp desktop/net-gproftpd.desktop $(datadir)/applications/; \ fi ; if test -d $(datadir)/gnome/apps/Internet; then \ cp desktop/net-gproftpd.desktop $(datadir)/gnome/apps/Internet/; \ fi ; if test -d $(datadir)/doc/gproftpd-$(VERSION); then \ cp AUTHORS $(datadir)/doc/gproftpd-$(VERSION)/; \ cp README $(datadir)/doc/gproftpd-$(VERSION)/; \ cp ChangeLog $(datadir)/doc/gproftpd-$(VERSION)/; \ cp COPYING $(datadir)/doc/gproftpd-$(VERSION)/; \ fi; if test ! -d $(datadir)/doc/gproftpd-$(VERSION); then \ $(mkinstalldirs) $(datadir)/doc/gproftpd-$(VERSION); \ cp AUTHORS $(datadir)/doc/gproftpd-$(VERSION)/; \ cp README $(datadir)/doc/gproftpd-$(VERSION)/; \ cp ChangeLog $(datadir)/doc/gproftpd-$(VERSION)/; \ cp COPYING $(datadir)/doc/gproftpd-$(VERSION)/; \ fi; if test ! -d $(sysconfdir)/gproftpd; then \ $(mkinstalldirs) $(sysconfdir)/gproftpd; \ fi; if test ! -f $(sysconfdir)/gproftpd/gproftpd.pem; then \ cp etc/gproftpd.pem $(sysconfdir)/gproftpd/; \ chmod 0600 $(sysconfdir)/gproftpd/gproftpd.pem; \ fi; if test ! -f $(sysconfdir)/gproftpd/gprotls.conf; then \ cp etc/gprotls.conf $(sysconfdir)/gproftpd/; \ chmod 0600 $(sysconfdir)/gproftpd/gprotls.conf; \ fi; @echo "" @echo "Start GProFTPD by typing gproftpd in a terminal" @echo "or start it from the menu." @echo "" @echo "Send bugreports, comments or questions to magnus-swe@telia.com" @echo "" dist-hook: if test -d pixmaps; then \ mkdir $(distdir)/pixmaps; \ for pixmap in pixmaps/*; do \ if test -f $$pixmap; then \ cp -p $$pixmap $(distdir)/pixmaps; \ fi \ done \ fi 0707010001dba4000081a400000002000000020000000140b802d900004c2a000000200000000000000000000000000000001200000000reloc/Makefile.in# Makefile.in generated by automake 1.7.8 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LOCALSTATEDIR = @LOCALSTATEDIR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_CFLAGS = @PACKAGE_CFLAGS@ PACKAGE_LIBS = @PACKAGE_LIBS@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ SYSCONFDIR = @SYSCONFDIR@ USE_NLS = @USE_NLS@ VERSION = 8.1.7 XGETTEXT = @XGETTEXT@ ac_ct_CC = @ac_ct_CC@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ SUBDIRS = src po EXTRA_DIST = \ autogen.sh \ gproftpd.glade \ gproftpd.gladep subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = DIST_SOURCES = RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ ps-recursive install-info-recursive uninstall-info-recursive \ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \ COPYING ChangeLog INSTALL Makefile.am NEWS aclocal.m4 \ config.guess config.h.in config.sub configure configure.in \ depcomp install-sh missing mkinstalldirs DIST_SUBDIRS = $(SUBDIRS) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOHEADER) touch $(srcdir)/config.h.in distclean-hdr: -rm -f config.h stamp-h1 uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if (etags --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ else \ include_option=--include; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -f $$subdir/TAGS && \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = . distdir = $(PACKAGE)-$(VERSION) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) $(mkinstalldirs) $(distdir)/po @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \ || exit 1; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" \ distdir=../$(distdir)/$$subdir \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist dist-all: distdir $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist $(am__remove_distdir) GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && rm -f $(distdir).tar.gz \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @echo "$(distdir).tar.gz is ready for distribution" | \ sed 'h;s/./=/g;p;x;p;x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: info: info-recursive info-am: install-data-am: install-data-local install-exec-am: install-info: install-info-recursive install-man: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ clean-generic clean-recursive ctags ctags-recursive dist \ dist-all dist-gzip distcheck distclean distclean-generic \ distclean-hdr distclean-recursive distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am dvi-recursive info \ info-am info-recursive install install-am install-data \ install-data-am install-data-local install-data-recursive \ install-exec install-exec-am install-exec-recursive \ install-info install-info-am install-info-recursive install-man \ install-recursive install-strip installcheck installcheck-am \ installdirs installdirs-am installdirs-recursive \ maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \ ps-recursive tags tags-recursive uninstall uninstall-am \ uninstall-info-am uninstall-info-recursive uninstall-recursive install-data-local: @$(NORMAL_INSTALL) if test -d $(srcdir)/pixmaps; then \ $(mkinstalldirs) $(datadir)/pixmaps/gproftpd; \ for pixmap in $(srcdir)/pixmaps/*; do \ if test -f $$pixmap; then \ $(INSTALL_DATA) $$pixmap $(datadir)/pixmaps/gproftpd; \ fi \ done \ fi; if test -d $(datadir)/pixmaps; then \ cp pixmaps/gproftpd.png $(datadir)/pixmaps/; \ fi; if test -d $(datadir)/applications; then \ cp desktop/net-gproftpd.desktop $(datadir)/applications/; \ fi ; if test -d $(datadir)/gnome/apps/Internet; then \ cp desktop/net-gproftpd.desktop $(datadir)/gnome/apps/Internet/; \ fi ; if test -d $(datadir)/doc/gproftpd-$(VERSION); then \ cp AUTHORS $(datadir)/doc/gproftpd-$(VERSION)/; \ cp README $(datadir)/doc/gproftpd-$(VERSION)/; \ cp ChangeLog $(datadir)/doc/gproftpd-$(VERSION)/; \ cp COPYING $(datadir)/doc/gproftpd-$(VERSION)/; \ fi; if test ! -d $(datadir)/doc/gproftpd-$(VERSION); then \ $(mkinstalldirs) $(datadir)/doc/gproftpd-$(VERSION); \ cp AUTHORS $(datadir)/doc/gproftpd-$(VERSION)/; \ cp README $(datadir)/doc/gproftpd-$(VERSION)/; \ cp ChangeLog $(datadir)/doc/gproftpd-$(VERSION)/; \ cp COPYING $(datadir)/doc/gproftpd-$(VERSION)/; \ fi; if test ! -d $(sysconfdir)/gproftpd; then \ $(mkinstalldirs) $(sysconfdir)/gproftpd; \ fi; if test ! -f $(sysconfdir)/gproftpd/gproftpd.pem; then \ cp etc/gproftpd.pem $(sysconfdir)/gproftpd/; \ chmod 0600 $(sysconfdir)/gproftpd/gproftpd.pem; \ fi; if test ! -f $(sysconfdir)/gproftpd/gprotls.conf; then \ cp etc/gprotls.conf $(sysconfdir)/gproftpd/; \ chmod 0600 $(sysconfdir)/gproftpd/gprotls.conf; \ fi; @echo "" @echo "Start GProFTPD by typing gproftpd in a terminal" @echo "or start it from the menu." @echo "" @echo "Send bugreports, comments or questions to magnus-swe@telia.com" @echo "" dist-hook: if test -d pixmaps; then \ mkdir $(distdir)/pixmaps; \ for pixmap in pixmaps/*; do \ if test -f $$pixmap; then \ cp -p $$pixmap $(distdir)/pixmaps; \ fi \ done \ fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dba5000081a40000000200000002000000013fe863e000000000000000200000000000000000000000000000000b00000000reloc/NEWS0707010001dba6000081a40000000200000002000000013e70be3b000000e1000000200000000000000000000000000000000d00000000reloc/READMEAdditional Required packages: ----------------------------- proftpd >= 1.2.8 gtk >= 2.0 glib >= 2.0 atk >= 1.0 pango >= 1.0 Xft2 gdk freetype2 I hope you like it. Send bugreports or comments to magnus-swe@telia.com 0707010001dba7000081a400000002000000020000000140b7fd020000cb06000000200000000000000000000000000000001100000000reloc/aclocal.m4# generated automatically by aclocal 1.7.8 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # Do all the work for Automake. -*- Autoconf -*- # This macro actually does too much some checks are only needed if # your package does certain things. But this isn't really a big deal. # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 10 AC_PREREQ([2.54]) # Autoconf 2.50 wants to disallow AM_ names. We explicitly allow # the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(AMTAR, tar) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"]) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.7.8])]) # Helper functions for option handling. -*- Autoconf -*- # Copyright 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 3 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # -*- Autoconf -*- # Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 3 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # AM_AUX_DIR_EXPAND # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. # Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50]) AC_DEFUN([AM_AUX_DIR_EXPAND], [ # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # AM_PROG_INSTALL_STRIP # Copyright 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # -*- Autoconf -*- # Copyright (C) 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 1 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # serial 5 -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c : > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # (even with -Werror). So we grep stderr for any message # that says an option was ignored. if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH]) ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. #serial 2 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 5 AC_PREREQ(2.52) # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE]) AC_SUBST([$1_FALSE]) if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]) fi])]) # Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. AC_PREREQ([2.52]) # serial 6 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Add --enable-maintainer-mode option to configure. # From Jim Meyering # Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) # still uses it. Otherwise, the use in gettext.m4 makes autoheader # give these diagnostics: # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX undefine([AC_ISC_POSIX]) AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ] ) # Copyright 1996, 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # serial 2 # @defmac AC_PROG_CC_STDC # @maindex PROG_CC_STDC # @ovindex CC # If the C compiler in not in ANSI C mode by default, try to add an option # to output variable @code{CC} to make it so. This macro tries various # options that select ANSI C on some system or another. It considers the # compiler to be in ANSI C mode if it handles function prototypes correctly. # # If you use this macro, you should check after calling it whether the C # compiler has been set to accept ANSI C; if not, the shell variable # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source # code in ANSI C, you can make an un-ANSIfied copy of it by using the # program @code{ansi2knr}, which comes with Ghostscript. # @end defmac AC_DEFUN([AM_PROG_CC_STDC], [AC_REQUIRE([AC_PROG_CC]) AC_BEFORE([$0], [AC_C_INLINE]) AC_BEFORE([$0], [AC_C_CONST]) dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require dnl a magic option to avoid problems with ANSI preprocessor commands dnl like #elif. dnl FIXME: can't do this because then AC_AIX won't work due to a dnl circular dependency. dnl AC_BEFORE([$0], [AC_PROG_CPP]) AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) AC_CACHE_VAL(am_cv_prog_cc_stdc, [am_cv_prog_cc_stdc=no ac_save_CC="$CC" # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" AC_TRY_COMPILE( [#include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; ], [ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ], [am_cv_prog_cc_stdc="$ac_arg"; break]) done CC="$ac_save_CC" ]) if test -z "$am_cv_prog_cc_stdc"; then AC_MSG_RESULT([none needed]) else AC_MSG_RESULT([$am_cv_prog_cc_stdc]) fi case "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;; esac ]) AU_DEFUN([fp_PROG_CC_STDC], [AM_PROG_CC_STDC]) dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page dnl also defines GSTUFF_PKG_ERRORS on error AC_DEFUN(PKG_CHECK_MODULES, [ succeeded=no if test -z "$PKG_CONFIG"; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) fi if test "$PKG_CONFIG" = "no" ; then echo "*** The pkg-config script could not be found. Make sure it is" echo "*** in your path, or set the PKG_CONFIG environment variable" echo "*** to the full path to pkg-config." echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then AC_MSG_CHECKING(for $2) if $PKG_CONFIG --exists "$2" ; then AC_MSG_RESULT(yes) succeeded=yes AC_MSG_CHECKING($1_CFLAGS) $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` AC_MSG_RESULT($$1_CFLAGS) AC_MSG_CHECKING($1_LIBS) $1_LIBS=`$PKG_CONFIG --libs "$2"` AC_MSG_RESULT($$1_LIBS) else $1_CFLAGS="" $1_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` ifelse([$4], ,echo $$1_PKG_ERRORS,) fi AC_SUBST($1_CFLAGS) AC_SUBST($1_LIBS) else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" fi fi if test $succeeded = yes; then ifelse([$3], , :, [$3]) else ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) fi ]) # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return (int) dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) if test "$gt_cv_func_dgettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.in. for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done dnl Make all variables we use known to autoconf. AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) AC_SUBST(DATADIRNAME) AC_SUBST(GMOFILES) AC_SUBST(INSTOBJEXT) AC_SUBST(INTLLIBS) AC_SUBST(PO_IN_DATADIR_TRUE) AC_SUBST(PO_IN_DATADIR_FALSE) AC_SUBST(POFILES) AC_SUBST(POSUB) ]) # AM_GLIB_GNU_GETTEXT # ------------------- # Do checks necessary for use of gettext. If a suitable implementation # of gettext is found in either in libintl or in the C library, # it will set INTLLIBS to the libraries needed for use of gettext # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() # on various variables needed by the Makefile.in.in installed by # glib-gettextize. dnl glib_DEFUN(GLIB_GNU_GETTEXT, [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_HEADER_STDC])dnl GLIB_LC_MESSAGES GLIB_WITH_NLS if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else AC_MSG_CHECKING(for catalogs to be installed) NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN(GLIB_DEFINE_LOCALEDIR, [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" AC_DEFINE_UNQUOTED($1, "$localedir", [Define the location where the catalogs will be installed]) ]) dnl dnl Now the definitions that aclocal will find dnl ifdef(glib_configure_in,[],[ AC_DEFUN(AM_GLIB_GNU_GETTEXT,[GLIB_GNU_GETTEXT($@)]) AC_DEFUN(AM_GLIB_DEFINE_LOCALEDIR,[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl 0707010001dba8000081ed0000000200000002000000013efb492a00000fc7000000200000000000000000000000000000001100000000reloc/autogen.sh#!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -z "$srcdir" && srcdir=. DIE=0 if [ -n "$GNOME2_DIR" ]; then ACLOCAL_FLAGS="-I $GNOME2_DIR/share/aclocal $ACLOCAL_FLAGS" LD_LIBRARY_PATH="$GNOME2_DIR/lib:$LD_LIBRARY_PATH" PATH="$GNOME2_DIR/bin:$PATH" export PATH export LD_LIBRARY_PATH fi (test -f $srcdir/configure.in) || { echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" echo " top-level package directory" exit 1 } (autoconf --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`autoconf' installed." echo "Download the appropriate package for your distribution," echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" DIE=1 } (grep "^AC_PROG_INTLTOOL" $srcdir/configure.in >/dev/null) && { (intltoolize --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`intltool' installed." echo "You can get it from:" echo " ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/" DIE=1 } } (grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { (libtool --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`libtool' installed." echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" DIE=1 } } grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.in >/dev/null && { grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \ (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`glib' installed." echo "You can get it from: ftp://ftp.gtk.org/pub/gtk" DIE=1 } } (automake --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`automake' installed." echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" DIE=1 NO_AUTOMAKE=yes } # if no automake, don't bother testing for aclocal test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: Missing \`aclocal'. The version of \`automake'" echo "installed doesn't appear recent enough." echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/" DIE=1 } if test "$DIE" -eq 1; then exit 1 fi #if test -z "$*"; then # echo "**Warning**: I am going to run \`configure' with no arguments." # echo "If you wish to pass any to it, please specify them on the" # echo \`$0\'" command line." # echo #fi case $CC in xlc ) am_opt=--include-deps;; esac for coin in `find $srcdir -name configure.in -print` do dr=`dirname $coin` if test -f $dr/NO-AUTO-GEN; then echo skipping $dr -- flagged as no auto-gen else echo processing $dr ( cd $dr aclocalinclude="$ACLOCAL_FLAGS" if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then echo "Creating $dr/aclocal.m4 ..." test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 echo "Running glib-gettextize... Ignore non-fatal messages." echo "no" | glib-gettextize --force --copy echo "Making $dr/aclocal.m4 writable ..." test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 fi if grep "^AC_PROG_INTLTOOL" configure.in >/dev/null; then echo "Running intltoolize..." intltoolize --copy --force --automake fi if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then if test -z "$NO_LIBTOOLIZE" ; then echo "Running libtoolize..." libtoolize --force --copy fi fi echo "Running aclocal $aclocalinclude ..." aclocal $aclocalinclude if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then echo "Running autoheader..." autoheader fi echo "Running automake --gnu $am_opt ..." automake --add-missing --gnu $am_opt echo "Running autoconf ..." autoconf ) fi done #conf_flags="--enable-maintainer-mode" #if test x$NOCONFIGURE = x; then # echo Running $srcdir/configure $conf_flags "$@" ... # $srcdir/configure $conf_flags "$@" \ # && echo Now type \`make\' to compile. || exit 1 #else # echo Skipping configure process. #fi 0707010001dba9000081ed0000000200000002000000013e3511e800009668000000200000000000000000000000000000001300000000reloc/config.guess#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-09-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Written by Per Bothner . # Please send patches to . # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi dummy=dummy-$$ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int dummy(){}" > $dummy.c ; for c in cc gcc c89 ; do ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; if test $? = 0 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # Netbsd (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # Determine the machine/vendor (is the vendor relevant). case "${UNAME_MACHINE}" in amiga) machine=m68k-unknown ;; arm32) machine=arm-unknown ;; atari*) machine=m68k-atari ;; sun3*) machine=m68k-sun ;; mac68k) machine=m68k-apple ;; macppc) machine=powerpc-apple ;; hp3[0-9][05]) machine=m68k-hp ;; ibmrt|romp-ibm) machine=romp-ibm ;; *) machine=${UNAME_MACHINE}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE}" in i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; 2-1307) UNAME_MACHINE="alphaev68" ;; esac fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; arc64:OpenBSD:*:*) echo mips64el-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hkmips:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; sparc*:NetBSD:*) echo `uname -p`-unknown-netbsd${UNAME_RELEASE} exit 0 ;; atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; sun3*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) case "${HPUX_REV}" in 11.[0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; esac ;; esac fi ;; esac if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; hppa*:OpenBSD:*:*) echo hppa-unknown-openbsd exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*X-MP:*:*:*) echo xmp-cray-unicos exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in big) echo mips-unknown-linux-gnu && exit 0 ;; little) echo mipsel-unknown-linux-gnu && exit 0 ;; esac ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. ld_supported_targets=`cd /; ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build cat >$dummy.c < #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 printf ("%s-pc-linux-gnu\n", argv[1]); # else printf ("%s-pc-linux-gnulibc1\n", argv[1]); # endif # else printf ("%s-pc-linux-gnulibc1\n", argv[1]); # endif #else printf ("%s-pc-linux-gnuaout\n", argv[1]); #endif return 0; } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit 0 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit 0 ;; i*86:*:5:[78]*) case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit 0 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4.3${OS_REL} && exit 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[KW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: 0707010001dbaa000081a40000000200000002000000014173763d00000cf2000000200000000000000000000000000000000f00000000reloc/config.h/* config.h. Generated by configure. */ /* config.h.in. Generated from configure.in by autoheader. */ /* always defined to indicate that i18n is enabled */ #define ENABLE_NLS 1 /* needed for gettext... */ #define GETTEXT_PACKAGE "gproftpd" /* application config dir */ #define GP_APPCONFDIR "/etc/gproftpd" /* path to proftpd.conf */ #define GP_CONF "/usr/etc/proftpd.conf" /* path to ftpusers */ #define GP_FTPUSERS "/etc/ftpusers" /* path to group */ #define GP_GROUP "/etc/group" /* path to gshadow */ #define GP_GSHADOW "/etc/gshadow" /* path to passwd */ #define GP_PASSWD "/etc/passwd" /* path to the system log */ #define GP_SECURE "/usr/var/log/secure" /* path to shadow */ #define GP_SHADOW "/etc/shadow" /* path to shells */ #define GP_SHELLS "/etc/shells" /* path to shutmsg */ #define GP_SHUTMSG "/etc/shutmsg" /* etc dir */ #define GP_SYSCONFDIR "/etc" /* var dir */ #define GP_VARDIR "/usr/var" /* path to xferlog */ #define GP_XFERLOG "/usr/var/log/xferlog" /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #define HAVE_BIND_TEXTDOMAIN_CODESET 1 /* Define for linking with -lcrypt */ #define HAVE_CRYPT 1 /* Define to 1 if you have the `dcgettext' function. */ #define HAVE_DCGETTEXT 1 /* Define if the GNU gettext() function is already present or preinstalled. */ #define HAVE_GETTEXT 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define if your file defines LC_MESSAGES. */ #define HAVE_LC_MESSAGES 1 /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_STDINT_H */ /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Name of package */ #define PACKAGE "gproftpd" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "" /* Define to the version of this package. */ #define PACKAGE_VERSION "" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* using aix macros... */ /* #undef USE_AIX */ /* using darwin macros... */ /* #undef USE_DARWIN */ /* using freebsd macros... */ /* #undef USE_FREEBSD */ /* using hpux macros... */ /* #undef USE_HPUX */ /* using Linux macros... */ /* #undef USE_LINUX */ /* using netbsd macros... */ /* #undef USE_NETBSD */ /* using openbsd macros... */ /* #undef USE_OPENBSD */ /* using sunos macros... */ #define USE_SUNOS 1 /* Version number of package */ #define VERSION "8.1.7" 0707010001dbab000081a400000002000000020000000140b7fa5a00000b57000000200000000000000000000000000000001200000000reloc/config.h.in/* config.h.in. Generated from configure.in by autoheader. */ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* needed for gettext... */ #undef GETTEXT_PACKAGE /* application config dir */ #undef GP_APPCONFDIR /* path to proftpd.conf */ #undef GP_CONF /* path to ftpusers */ #undef GP_FTPUSERS /* path to group */ #undef GP_GROUP /* path to gshadow */ #undef GP_GSHADOW /* path to passwd */ #undef GP_PASSWD /* path to the system log */ #undef GP_SECURE /* path to shadow */ #undef GP_SHADOW /* path to shells */ #undef GP_SHELLS /* path to shutmsg */ #undef GP_SHUTMSG /* etc dir */ #undef GP_SYSCONFDIR /* var dir */ #undef GP_VARDIR /* path to xferlog */ #undef GP_XFERLOG /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define for linking with -lcrypt */ #undef HAVE_CRYPT /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* using aix macros... */ #undef USE_AIX /* using darwin macros... */ #undef USE_DARWIN /* using freebsd macros... */ #undef USE_FREEBSD /* using hpux macros... */ #undef USE_HPUX /* using Linux macros... */ #undef USE_LINUX /* using netbsd macros... */ #undef USE_NETBSD /* using openbsd macros... */ #undef USE_OPENBSD /* using sunos macros... */ #undef USE_SUNOS /* Version number of package */ #undef VERSION 0707010001dbac000081a40000000200000002000000014173765300005678000000200000000000000000000000000000001100000000reloc/config.logThis file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by configure, which was generated by GNU Autoconf 2.57. Invocation command line was $ ./configure LDFLAGS=-lsocket --prefix=/usr ## --------- ## ## Platform. ## ## --------- ## hostname = fOrk2dotO uname -m = sun4u uname -r = 5.9 uname -s = SunOS uname -v = Generic_112233-12 /usr/bin/uname -p = sparc /bin/uname -X = System = SunOS Node = fOrk2dotO Release = 5.9 KernelID = Generic_112233-12 Machine = sun4u BusType = Serial = Users = OEM# = 0 Origin# = 1 NumCPU = 1 /bin/arch = sun4 /usr/bin/arch -k = sun4u /usr/convex/getsysinfo = unknown hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /usr/sbin PATH: /usr/bin PATH: /opt/sfw/bin PATH: /opt/csw/gcc3/bin PATH: /opt/csw/bin PATH: /usr/local/bin PATH: . ## ----------- ## ## Core tests. ## ## ----------- ## configure:1310: checking for a BSD-compatible install configure:1364: result: ./install-sh -c configure:1375: checking whether build environment is sane configure:1418: result: yes configure:1451: checking for gawk configure:1467: found /opt/sfw/bin/gawk configure:1477: result: gawk configure:1487: checking whether make sets $(MAKE) configure:1507: result: yes configure:1673: checking whether to enable maintainer-specific portions of Makefiles configure:1682: result: no configure:1704: checking build system type configure:1722: result: sparc-sun-solaris2.9 configure:1730: checking host system type configure:1744: result: sparc-sun-solaris2.9 configure:1752: checking for OS type configure:1765: result: Solaris (sparc-sun-solaris2.9) found. configure:1859: checking for style of include used by make configure:1887: result: GNU configure:1958: checking for gcc configure:1974: found /opt/csw/gcc3/bin/gcc configure:1984: result: gcc configure:2228: checking for C compiler version configure:2231: gcc --version &5 sparc-sun-solaris2.9-gcc (GCC) 3.4.1 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:2234: $? = 0 configure:2236: gcc -v &5 Reading specs from /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/specs Configured with: /home/aalmroth/build/gcc-3.4.1/configure --prefix=/opt/csw/gcc3 --with-local-prefix=/opt/csw/gcc3 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-multilib --disable-nls --enable-threads --with-libiconv-prefix=/opt/csw Thread model: posix gcc version 3.4.1 configure:2239: $? = 0 configure:2241: gcc -V &5 sparc-sun-solaris2.9-gcc: `-V' must come at the start of the command line configure:2244: $? = 1 configure:2268: checking for C compiler default output configure:2271: gcc -lsocket conftest.c >&5 configure:2274: $? = 0 configure:2320: result: a.out configure:2325: checking whether the C compiler works configure:2331: ./a.out configure:2334: $? = 0 configure:2351: result: yes configure:2358: checking whether we are cross compiling configure:2360: result: no configure:2363: checking for suffix of executables configure:2365: gcc -o conftest -lsocket conftest.c >&5 configure:2368: $? = 0 configure:2393: result: configure:2399: checking for suffix of object files configure:2421: gcc -c conftest.c >&5 configure:2424: $? = 0 configure:2446: result: o configure:2450: checking whether we are using the GNU C compiler configure:2475: gcc -c conftest.c >&5 configure:2478: $? = 0 configure:2481: test -s conftest.o configure:2484: $? = 0 configure:2497: result: yes configure:2503: checking whether gcc accepts -g configure:2525: gcc -c -g conftest.c >&5 configure:2528: $? = 0 configure:2531: test -s conftest.o configure:2534: $? = 0 configure:2545: result: yes configure:2562: checking for gcc option to accept ANSI C configure:2623: gcc -c -g -O2 conftest.c >&5 configure:2626: $? = 0 configure:2629: test -s conftest.o configure:2632: $? = 0 configure:2650: result: none needed configure:2668: gcc -c -g -O2 conftest.c >&5 conftest.c:2: error: parse error before "me" configure:2671: $? = 1 configure: failed program was: | #ifndef __cplusplus | choke me | #endif configure:2782: checking dependency style of gcc configure:2865: result: gcc3 configure:2884: checking for strerror in -lcposix configure:2915: gcc -o conftest -g -O2 -lsocket conftest.c -lcposix >&5 ld: fatal: library -lcposix: not found ld: fatal: File processing errors. No output written to conftest collect2: ld returned 1 exit status configure:2918: $? = 1 configure: failed program was: | #line 2891 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "gproftpd" | #define VERSION "8.1.7" | #define USE_SUNOS 1 | /* end confdefs.h. */ | | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char strerror (); | int | main () | { | strerror (); | ; | return 0; | } configure:2936: result: no configure:2990: checking for gcc configure:3016: result: gcc configure:3260: checking for C compiler version configure:3263: gcc --version &5 sparc-sun-solaris2.9-gcc (GCC) 3.4.1 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:3266: $? = 0 configure:3268: gcc -v &5 Reading specs from /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/specs Configured with: /home/aalmroth/build/gcc-3.4.1/configure --prefix=/opt/csw/gcc3 --with-local-prefix=/opt/csw/gcc3 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-multilib --disable-nls --enable-threads --with-libiconv-prefix=/opt/csw Thread model: posix gcc version 3.4.1 configure:3271: $? = 0 configure:3273: gcc -V &5 sparc-sun-solaris2.9-gcc: `-V' must come at the start of the command line configure:3276: $? = 1 configure:3279: checking whether we are using the GNU C compiler configure:3326: result: yes configure:3332: checking whether gcc accepts -g configure:3374: result: yes configure:3391: checking for gcc option to accept ANSI C configure:3479: result: none needed configure:3497: gcc -c -g -O2 conftest.c >&5 conftest.c:2: error: parse error before "me" configure:3500: $? = 1 configure: failed program was: | #ifndef __cplusplus | choke me | #endif configure:3611: checking dependency style of gcc configure:3694: result: gcc3 configure:3714: checking for gcc option to accept ANSI C configure:3778: gcc -c -g -O2 conftest.c >&5 configure:3781: $? = 0 configure:3784: test -s conftest.o configure:3787: $? = 0 configure:3802: result: none needed configure:3818: checking how to run the C preprocessor configure:3854: gcc -E conftest.c configure:3860: $? = 0 configure:3892: gcc -E conftest.c configure:3894:28: ac_nonexistent.h: No such file or directory configure:3898: $? = 1 configure: failed program was: | #line 3883 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "gproftpd" | #define VERSION "8.1.7" | #define USE_SUNOS 1 | /* end confdefs.h. */ | #include configure:3936: result: gcc -E configure:3961: gcc -E conftest.c configure:3967: $? = 0 configure:3999: gcc -E conftest.c configure:4001:28: ac_nonexistent.h: No such file or directory configure:4005: $? = 1 configure: failed program was: | #line 3990 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "gproftpd" | #define VERSION "8.1.7" | #define USE_SUNOS 1 | /* end confdefs.h. */ | #include configure:4048: checking for egrep configure:4058: result: egrep configure:4063: checking for ANSI C header files configure:4089: gcc -c -g -O2 conftest.c >&5 configure:4092: $? = 0 configure:4095: test -s conftest.o configure:4098: $? = 0 configure:4187: gcc -o conftest -g -O2 -lsocket conftest.c >&5 configure:4190: $? = 0 configure:4192: ./conftest configure:4195: $? = 0 configure:4210: result: yes configure:4228: checking for pkg-config configure:4246: found /usr/bin/pkg-config configure:4259: result: /usr/bin/pkg-config configure:4276: checking for gtk+-2.0 >= 1.3.13 configure:4280: result: yes configure:4284: checking PACKAGE_CFLAGS configure:4287: result: -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include configure:4290: checking PACKAGE_LIBS configure:4293: result: -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 configure:4346: checking for sys/types.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for sys/stat.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for stdlib.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for string.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for memory.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for strings.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for inttypes.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4346: checking for stdint.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4406:20: stdint.h: No such file or directory configure:4366: $? = 1 configure: failed program was: | #line 4351 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "gproftpd" | #define VERSION "8.1.7" | #define USE_SUNOS 1 | #define STDC_HEADERS 1 | #define GETTEXT_PACKAGE "gproftpd" | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | /* end confdefs.h. */ | #include | #if HAVE_SYS_TYPES_H | # include | #endif | #if HAVE_SYS_STAT_H | # include | #endif | #if STDC_HEADERS | # include | # include | #else | # if HAVE_STDLIB_H | # include | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include | # endif | # include | #endif | #if HAVE_STRINGS_H | # include | #endif | #if HAVE_INTTYPES_H | # include | #else | # if HAVE_STDINT_H | # include | # endif | #endif | #if HAVE_UNISTD_H | # include | #endif | | #include configure:4383: result: no configure:4346: checking for unistd.h configure:4363: gcc -c -g -O2 conftest.c >&5 configure:4366: $? = 0 configure:4369: test -s conftest.o configure:4372: $? = 0 configure:4383: result: yes configure:4410: checking locale.h usability configure:4423: gcc -c -g -O2 conftest.c >&5 configure:4426: $? = 0 configure:4429: test -s conftest.o configure:4432: $? = 0 configure:4442: result: yes configure:4446: checking locale.h presence configure:4457: gcc -E conftest.c configure:4463: $? = 0 configure:4482: result: yes configure:4518: checking for locale.h configure:4525: result: yes configure:4539: checking for LC_MESSAGES configure:4561: gcc -o conftest -g -O2 -lsocket conftest.c >&5 configure:4564: $? = 0 configure:4567: test -s conftest configure:4570: $? = 0 configure:4581: result: yes configure:4610: checking libintl.h usability configure:4623: gcc -c -g -O2 conftest.c >&5 configure:4626: $? = 0 configure:4629: test -s conftest.o configure:4632: $? = 0 configure:4642: result: yes configure:4646: checking libintl.h presence configure:4657: gcc -E conftest.c configure:4663: $? = 0 configure:4682: result: yes configure:4718: checking for libintl.h configure:4725: result: yes configure:4736: checking for dgettext in libc configure:4760: gcc -o conftest -g -O2 -lsocket conftest.c >&5 configure:4763: $? = 0 configure:4766: test -s conftest configure:4769: $? = 0 configure:4781: result: yes configure:4789: checking for bind_textdomain_codeset configure:4839: gcc -o conftest -g -O2 -lsocket conftest.c >&5 configure:4842: $? = 0 configure:4845: test -s conftest configure:4848: $? = 0 configure:4859: result: yes configure:5183: checking for msgfmt configure:5210: result: /usr/bin/msgfmt configure:5223: checking for dcgettext configure:5273: gcc -o conftest -g -O2 -lsocket conftest.c >&5 configure:5269: warning: conflicting types for built-in function 'dcgettext' configure:5276: $? = 0 configure:5279: test -s conftest configure:5282: $? = 0 configure:5293: result: yes configure:5305: checking for gmsgfmt configure:5323: found /opt/csw/bin/gmsgfmt configure:5336: result: /opt/csw/bin/gmsgfmt configure:5345: checking for xgettext configure:5372: result: /usr/bin/xgettext configure:5397: gcc -o conftest -g -O2 -lsocket conftest.c >&5 Undefined first referenced symbol in file _nl_msg_cat_cntr /var/tmp//ccdguioW.o ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status configure:5400: $? = 1 configure: failed program was: | #line 5379 "configure" | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "gproftpd" | #define VERSION "8.1.7" | #define USE_SUNOS 1 | #define STDC_HEADERS 1 | #define GETTEXT_PACKAGE "gproftpd" | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_LOCALE_H 1 | #define HAVE_LC_MESSAGES 1 | #define HAVE_BIND_TEXTDOMAIN_CODESET 1 | #define HAVE_GETTEXT 1 | #define HAVE_DCGETTEXT 1 | /* end confdefs.h. */ | | int | main () | { | extern int _nl_msg_cat_cntr; | return _nl_msg_cat_cntr | ; | return 0; | } configure:5416: checking for bind_textdomain_codeset configure:5486: result: yes configure:5527: result: found xgettext program is not GNU xgettext; ignore it configure:5560: checking for catalogs to be installed configure:5585: result: sv es configure:5626: checking for library containing crypt configure:5657: gcc -o conftest -g -O2 -Wall -lsocket conftest.c >&5 configure:5660: $? = 0 configure:5663: test -s conftest configure:5666: $? = 0 configure:5725: result: none required configure:5939: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by config.status, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on fOrk2dotO config.status:688: creating Makefile config.status:688: creating src/Makefile config.status:688: creating po/Makefile.in config.status:792: creating config.h config.status:1070: executing depfiles commands config.status:1070: executing default-1 commands ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=sparc-sun-solaris2.9 ac_cv_build_alias=sparc-sun-solaris2.9 ac_cv_c_compiler_gnu=yes ac_cv_env_CC_set= ac_cv_env_CC_value= ac_cv_env_CFLAGS_set= ac_cv_env_CFLAGS_value= ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_LDFLAGS_set=set ac_cv_env_LDFLAGS_value=-lsocket ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_exeext= ac_cv_func_bind_textdomain_codeset=yes ac_cv_func_dcgettext=yes ac_cv_header_inttypes_h=yes ac_cv_header_libintl_h=yes ac_cv_header_locale_h=yes ac_cv_header_memory_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=no ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_host=sparc-sun-solaris2.9 ac_cv_host_alias=sparc-sun-solaris2.9 ac_cv_lib_cposix_strerror=no ac_cv_objext=o ac_cv_path_GMSGFMT=/opt/csw/bin/gmsgfmt ac_cv_path_MSGFMT=/usr/bin/msgfmt ac_cv_path_PKG_CONFIG=/usr/bin/pkg-config ac_cv_path_XGETTEXT=/usr/bin/xgettext ac_cv_prog_AWK=gawk ac_cv_prog_CPP=$'gcc -E' ac_cv_prog_ac_ct_CC=gcc ac_cv_prog_cc_g=yes ac_cv_prog_cc_stdc= ac_cv_prog_egrep=egrep ac_cv_prog_make_make_set=yes ac_cv_search_crypt=$'none required' am_cv_CC_dependencies_compiler_type=gcc3 am_cv_prog_cc_stdc= am_cv_val_LC_MESSAGES=yes gt_cv_func_dgettext_libc=yes gt_cv_func_dgettext_libintl=no gt_cv_have_gettext=yes ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /home/shake/gproftpd-8.1.7/missing --run aclocal-1.7' AMDEPBACKSLASH='\' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='${SHELL} /home/shake/gproftpd-8.1.7/missing --run tar' AUTOCONF='${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoconf' AUTOHEADER='${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoheader' AUTOMAKE='${SHELL} /home/shake/gproftpd-8.1.7/missing --run automake-1.7' AWK='gawk' CATALOGS=' sv.gmo es.gmo' CATOBJEXT='.gmo' CC='gcc' CCDEPMODE='depmode=gcc3' CFLAGS='-g -O2 -Wall' CPP='gcc -E' CPPFLAGS='' CYGPATH_W='echo' DATADIRNAME='share' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='egrep' EXEEXT='' GETTEXT_PACKAGE='gproftpd' GMOFILES=' sv.gmo es.gmo' GMSGFMT='/opt/csw/bin/gmsgfmt' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' INSTOBJEXT='.mo' INTLLIBS='' LDFLAGS='-lsocket' LIBOBJS='' LIBS='' LOCALSTATEDIR='/usr/var' LTLIBOBJS='' MAINT='#' MAINTAINER_MODE_FALSE='' MAINTAINER_MODE_TRUE='#' MAKEINFO='${SHELL} /home/shake/gproftpd-8.1.7/missing --run makeinfo' MKINSTALLDIRS='./mkinstalldirs' MSGFMT='/usr/bin/msgfmt' OBJEXT='o' PACKAGE='gproftpd' PACKAGE_BUGREPORT='' PACKAGE_CFLAGS='-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' PACKAGE_LIBS='-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ' PACKAGE_NAME='' PACKAGE_STRING='' PACKAGE_TARNAME='' PACKAGE_VERSION='' PATH_SEPARATOR=':' PKG_CONFIG='/usr/bin/pkg-config' POFILES=' sv.po es.po' POSUB='po' PO_IN_DATADIR_FALSE='' PO_IN_DATADIR_TRUE='' SET_MAKE='' SHELL='/bin/bash' STRIP='' SYSCONFDIR='/usr/etc' USE_NLS='yes' VERSION='8.1.7' XGETTEXT=':' ac_ct_CC='gcc' ac_ct_STRIP='' am__fastdepCC_FALSE='#' am__fastdepCC_TRUE='' am__include='include' am__leading_dot='.' am__quote='' bindir='${exec_prefix}/bin' build='sparc-sun-solaris2.9' build_alias='' build_cpu='sparc' build_os='solaris2.9' build_vendor='sun' datadir='${prefix}/share' exec_prefix='${prefix}' host='sparc-sun-solaris2.9' host_alias='' host_cpu='sparc' host_os='solaris2.9' host_vendor='sun' includedir='${prefix}/include' infodir='${prefix}/info' install_sh='/home/shake/gproftpd-8.1.7/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localstatedir='${prefix}/var' mandir='${prefix}/man' oldincludedir='/usr/include' prefix='/usr' program_transform_name='s,x,x,' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias='' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define ENABLE_NLS 1 #define GETTEXT_PACKAGE "gproftpd" #define GP_APPCONFDIR "/etc/gproftpd" #define GP_CONF "/usr/etc/proftpd.conf" #define GP_FTPUSERS "/etc/ftpusers" #define GP_GROUP "/etc/group" #define GP_GSHADOW "/etc/gshadow" #define GP_PASSWD "/etc/passwd" #define GP_SECURE "/usr/var/log/secure" #define GP_SHADOW "/etc/shadow" #define GP_SHELLS "/etc/shells" #define GP_SHUTMSG "/etc/shutmsg" #define GP_SYSCONFDIR "/etc" #define GP_VARDIR "/usr/var" #define GP_XFERLOG "/usr/var/log/xferlog" #define HAVE_BIND_TEXTDOMAIN_CODESET 1 #define HAVE_CRYPT 1 #define HAVE_DCGETTEXT 1 #define HAVE_GETTEXT 1 #define HAVE_INTTYPES_H 1 #define HAVE_LC_MESSAGES 1 #define HAVE_LOCALE_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRINGS_H 1 #define HAVE_STRING_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_UNISTD_H 1 #define PACKAGE "gproftpd" #define PACKAGE_BUGREPORT "" #define PACKAGE_NAME "" #define PACKAGE_STRING "" #define PACKAGE_TARNAME "" #define PACKAGE_VERSION "" #define STDC_HEADERS 1 #define USE_SUNOS 1 #define VERSION "8.1.7" configure: exit 0 0707010001dbad000081ed0000000200000002000000014173762a00009805000000200000000000000000000000000000001400000000reloc/config.status#! /bin/bash # Generated by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=${CONFIG_SHELL-/bin/bash} ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 config_files=" Makefile src/Makefile po/Makefile.in" config_headers=" config.h" config_commands=" depfiles default-1" ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." ac_cs_version="\ config.status configured by ./configure, generated by GNU Autoconf 2.57, with options \"'LDFLAGS=-lsocket' '--prefix=/usr'\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=. INSTALL="./install-sh -c" # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi if $ac_cs_recheck; then echo "running /bin/bash ./configure " 'LDFLAGS=-lsocket' '--prefix=/usr' $ac_configure_extra_args " --no-create --no-recursion" >&6 exec /bin/bash ./configure 'LDFLAGS=-lsocket' '--prefix=/usr' $ac_configure_extra_args --no-create --no-recursion fi # # INIT-COMMANDS section. # AMDEP_TRUE="" ac_aux_dir="." for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF s,@SHELL@,/bin/bash,;t t s,@PATH_SEPARATOR@,:,;t t s,@PACKAGE_NAME@,,;t t s,@PACKAGE_TARNAME@,,;t t s,@PACKAGE_VERSION@,,;t t s,@PACKAGE_STRING@,,;t t s,@PACKAGE_BUGREPORT@,,;t t s,@exec_prefix@,${prefix},;t t s,@prefix@,/usr,;t t s,@program_transform_name@,s,x,x,,;t t s,@bindir@,${exec_prefix}/bin,;t t s,@sbindir@,${exec_prefix}/sbin,;t t s,@libexecdir@,${exec_prefix}/libexec,;t t s,@datadir@,${prefix}/share,;t t s,@sysconfdir@,${prefix}/etc,;t t s,@sharedstatedir@,${prefix}/com,;t t s,@localstatedir@,${prefix}/var,;t t s,@libdir@,${exec_prefix}/lib,;t t s,@includedir@,${prefix}/include,;t t s,@oldincludedir@,/usr/include,;t t s,@infodir@,${prefix}/info,;t t s,@mandir@,${prefix}/man,;t t s,@build_alias@,,;t t s,@host_alias@,,;t t s,@target_alias@,,;t t s,@DEFS@,-DHAVE_CONFIG_H,;t t s,@ECHO_C@,,;t t s,@ECHO_N@,-n,;t t s,@ECHO_T@,,;t t s,@LIBS@,,;t t s,@INSTALL_PROGRAM@,${INSTALL},;t t s,@INSTALL_SCRIPT@,${INSTALL},;t t s,@INSTALL_DATA@,${INSTALL} -m 644,;t t s,@CYGPATH_W@,echo,;t t s,@PACKAGE@,gproftpd,;t t s,@VERSION@,8.1.7,;t t s,@ACLOCAL@,${SHELL} /home/shake/gproftpd-8.1.7/missing --run aclocal-1.7,;t t s,@AUTOCONF@,${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoconf,;t t s,@AUTOMAKE@,${SHELL} /home/shake/gproftpd-8.1.7/missing --run automake-1.7,;t t s,@AUTOHEADER@,${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoheader,;t t s,@MAKEINFO@,${SHELL} /home/shake/gproftpd-8.1.7/missing --run makeinfo,;t t s,@AMTAR@,${SHELL} /home/shake/gproftpd-8.1.7/missing --run tar,;t t s,@install_sh@,/home/shake/gproftpd-8.1.7/install-sh,;t t s,@STRIP@,,;t t s,@ac_ct_STRIP@,,;t t s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t s,@AWK@,gawk,;t t s,@SET_MAKE@,,;t t s,@am__leading_dot@,.,;t t s,@MAINTAINER_MODE_TRUE@,#,;t t s,@MAINTAINER_MODE_FALSE@,,;t t s,@MAINT@,#,;t t s,@build@,sparc-sun-solaris2.9,;t t s,@build_cpu@,sparc,;t t s,@build_vendor@,sun,;t t s,@build_os@,solaris2.9,;t t s,@host@,sparc-sun-solaris2.9,;t t s,@host_cpu@,sparc,;t t s,@host_vendor@,sun,;t t s,@host_os@,solaris2.9,;t t s,@CC@,gcc,;t t s,@CFLAGS@,-g -O2 -Wall,;t t s,@LDFLAGS@,-lsocket,;t t s,@CPPFLAGS@,,;t t s,@ac_ct_CC@,gcc,;t t s,@EXEEXT@,,;t t s,@OBJEXT@,o,;t t s,@DEPDIR@,.deps,;t t s,@am__include@,include,;t t s,@am__quote@,,;t t s,@AMDEP_TRUE@,,;t t s,@AMDEP_FALSE@,#,;t t s,@AMDEPBACKSLASH@,\,;t t s,@CCDEPMODE@,depmode=gcc3,;t t s,@am__fastdepCC_TRUE@,,;t t s,@am__fastdepCC_FALSE@,#,;t t s,@CPP@,gcc -E,;t t s,@EGREP@,egrep,;t t s,@PKG_CONFIG@,/usr/bin/pkg-config,;t t s,@PACKAGE_CFLAGS@,-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,;t t s,@PACKAGE_LIBS@,-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 ,;t t s,@GETTEXT_PACKAGE@,gproftpd,;t t s,@USE_NLS@,yes,;t t s,@MSGFMT@,/usr/bin/msgfmt,;t t s,@GMSGFMT@,/opt/csw/bin/gmsgfmt,;t t s,@XGETTEXT@,:,;t t s,@CATALOGS@, sv.gmo es.gmo,;t t s,@CATOBJEXT@,.gmo,;t t s,@DATADIRNAME@,share,;t t s,@GMOFILES@, sv.gmo es.gmo,;t t s,@INSTOBJEXT@,.mo,;t t s,@INTLLIBS@,,;t t s,@PO_IN_DATADIR_TRUE@,,;t t s,@PO_IN_DATADIR_FALSE@,,;t t s,@POFILES@, sv.po es.po,;t t s,@POSUB@,po,;t t s,@MKINSTALLDIRS@,./mkinstalldirs,;t t s,@SYSCONFDIR@,/usr/etc,;t t s,@LOCALSTATEDIR@,/usr/var,;t t s,@LIBOBJS@,,;t t s,@LTLIBOBJS@,,;t t CEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } sed "/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; } :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in # Handle all the #define templates only if necessary. if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then # If there are no defines, we may have an empty if/fi : cat >$tmp/defines.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in fi # grep # Handle all the #undef templates cat >$tmp/undefs.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in cat >$tmp/undefs.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'`/stamp-h$_am_stamp_count done # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p $dirpart/$fdir else as_dir=$dirpart/$fdir as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; default-1 ) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; esac done { (exit 0); exit 0; } 0707010001dbae000081ed0000000200000002000000013e3511e800006e40000000200000000000000000000000000000001100000000reloc/config.sub#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-09-07' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit 0;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dsp16xx \ | fr30 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | m32r | m68000 | m68k | m88k | mcore \ | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el | mips64vr4300 \ | mips64vr4300el | mips64vr5000 | mips64vr5000el \ | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \ | mipsisa32 \ | mn10200 | mn10300 \ | ns16k | ns32k \ | openrisc \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | s390 | s390x \ | sh | sh[34] | sh[34]eb | shbe | shle \ | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ | stormy16 | strongarm \ | tahoe | thumb | tic80 | tron \ | v850 \ | we32k \ | x86 | xscale \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alphapca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armv*-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c54x-* \ | clipper-* | cray2-* | cydra-* \ | d10v-* | d30v-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | m32r-* \ | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \ | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | s390-* | s390x-* \ | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ | sparcv9-* | sparcv9b-* | stormy16-* | strongarm-* | sv1-* \ | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ | v850-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ | ymp-* \ | z8k-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | ymp) basic_machine=ymp-cray os=-unicos ;; cray2) basic_machine=cray2-cray os=-unicos ;; [cjt]90) basic_machine=${basic_machine}-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu ;; mips*-linux*) basic_machine=mips-unknown os=-linux-gnu ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sparclite-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=t3e-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; tower | tower-32) basic_machine=m68k-ncr ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; windows32) basic_machine=i386-pc os=-windows32-msvcrt ;; xmp) basic_machine=xmp-cray os=-unicos ;; xps | xps100) basic_machine=xps100-honeywell ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown else basic_machine=mips-mips fi ;; romp) basic_machine=romp-ibm ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh3 | sh4 | sh3eb | sh4eb) basic_machine=sh-unknown ;; sparc | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; c4x*) basic_machine=c4x-none os=-coff ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: 0707010001dbaf000081ed00000002000000020000000140d22ee5000338bf000000200000000000000000000000000000001000000000reloc/configure#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57. # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="configure.in" # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP PKG_CONFIG PACKAGE_CFLAGS PACKAGE_LIBS GETTEXT_PACKAGE USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS SYSCONFDIR LOCALSTATEDIR LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-dependency-tracking Speeds up one-time builds --enable-dependency-tracking Do not reject slow dependency extractors Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version="1.7" ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="$(MAKE)"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE=gproftpd VERSION=8.1.7 cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} AMTAR=${AMTAR-"${am_missing_run}tar"} install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. ac_config_headers="$ac_config_headers config.h" echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi; echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_build_alias=$build_alias test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_host_alias=$host_alias test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:$LINENO: checking for OS type" >&5 echo $ECHO_N "checking for OS type... $ECHO_C" >&6 case $host in *-linux*) echo "$as_me:$LINENO: result: Linux ($host) found." >&5 echo "${ECHO_T}Linux ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_LINUX 1 _ACEOF ;; *-solaris*) echo "$as_me:$LINENO: result: Solaris ($host) found." >&5 echo "${ECHO_T}Solaris ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_SUNOS 1 _ACEOF ;; *-sunos*) echo "$as_me:$LINENO: result: Solaris ($host) found." >&5 echo "${ECHO_T}Solaris ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_SUNOS 1 _ACEOF ;; *-freebsd*) echo "$as_me:$LINENO: result: Free BSD ($host) found." >&5 echo "${ECHO_T}Free BSD ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_FREEBSD 1 _ACEOF ;; *-openbsd*) echo "$as_me:$LINENO: result: Open BSD ($host) found." >&5 echo "${ECHO_T}Open BSD ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_OPENBSD 1 _ACEOF ;; *-netbsd*) echo "$as_me:$LINENO: result: Net BSD ($host) found." >&5 echo "${ECHO_T}Net BSD ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_NETBSD 1 _ACEOF ;; *-darwin*) echo "$as_me:$LINENO: result: Darwin Mac OS X ($host) found." >&5 echo "${ECHO_T}Darwin Mac OS X ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_DARWIN 1 _ACEOF ;; *-aix*) echo "$as_me:$LINENO: result: AIX ($host) found." >&5 echo "${ECHO_T}AIX ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_AIX 1 _ACEOF ;; *-hpux*) echo "$as_me:$LINENO: result: HP UX ($host) found." >&5 echo "${ECHO_T}HP UX ($host) found." >&6 cat >>confdefs.h <<\_ACEOF #define USE_HPUX 1 _ACEOF ;; *) echo "$as_me:$LINENO: result: Unknown host found: ($host). Using Linux macros..." >&5 echo "${ECHO_T}Unknown host found: ($host). Using Linux macros..." >&6 cat >>confdefs.h <<\_ACEOF #define USE_LINUX 1 _ACEOF ;; esac DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval="$enable_dependency_tracking" fi; if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c : > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # (even with -Werror). So we grep stderr for any message # that says an option was ignored. if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 if test "${ac_cv_lib_cposix_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcposix $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_cposix_strerror=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_cposix_strerror=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 if test $ac_cv_lib_cposix_strerror = yes; then LIBS="$LIBS -lcposix" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c : > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # (even with -Werror). So we grep stderr for any message # that says an option was ignored. if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi echo "$as_me:$LINENO: checking for ${CC-cc} option to accept ANSI C" >&5 echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 if test "${am_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_prog_cc_stdc=no ac_save_CC="$CC" # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_prog_cc_stdc="$ac_arg"; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done CC="$ac_save_CC" fi if test -z "$am_cv_prog_cc_stdc"; then echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 else echo "$as_me:$LINENO: result: $am_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$am_cv_prog_cc_stdc" >&6 fi case "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi pkg_modules="gtk+-2.0 >= 1.3.13" succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test "$PKG_CONFIG" = "no" ; then echo "*** The pkg-config script could not be found. Make sure it is" echo "*** in your path, or set the PKG_CONFIG environment variable" echo "*** to the full path to pkg-config." echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then echo "$as_me:$LINENO: checking for $pkg_modules" >&5 echo $ECHO_N "checking for $pkg_modules... $ECHO_C" >&6 if $PKG_CONFIG --exists "$pkg_modules" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking PACKAGE_CFLAGS" >&5 echo $ECHO_N "checking PACKAGE_CFLAGS... $ECHO_C" >&6 PACKAGE_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules"` echo "$as_me:$LINENO: result: $PACKAGE_CFLAGS" >&5 echo "${ECHO_T}$PACKAGE_CFLAGS" >&6 echo "$as_me:$LINENO: checking PACKAGE_LIBS" >&5 echo $ECHO_N "checking PACKAGE_LIBS... $ECHO_C" >&6 PACKAGE_LIBS=`$PKG_CONFIG --libs "$pkg_modules"` echo "$as_me:$LINENO: result: $PACKAGE_LIBS" >&5 echo "${ECHO_T}$PACKAGE_LIBS" >&6 else PACKAGE_CFLAGS="" PACKAGE_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. PACKAGE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$pkg_modules"` echo $PACKAGE_PKG_ERRORS fi else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" fi fi if test $succeeded = yes; then : else { { echo "$as_me:$LINENO: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 echo "$as_me: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi GETTEXT_PACKAGE=gproftpd cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF ALL_LINGUAS="sv es" # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in locale.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 if test "${am_cv_val_LC_MESSAGES+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_val_LC_MESSAGES=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 am_cv_val_LC_MESSAGES=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 if test $am_cv_val_LC_MESSAGES = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LC_MESSAGES 1 _ACEOF fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= if test "${ac_cv_header_libintl_h+set}" = set; then echo "$as_me:$LINENO: checking for libintl.h" >&5 echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking libintl.h usability" >&5 echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking libintl.h presence" >&5 echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no ) { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; no:yes ) { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} ( cat <<\_ASBOX ## ------------------------------------ ## ## Report this to bug-autoconf@gnu.org. ## ## ------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for libintl.h" >&5 echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6 if test "${ac_cv_header_libintl_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_libintl_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 echo "${ECHO_T}$ac_cv_header_libintl_h" >&6 fi if test $ac_cv_header_libintl_h = yes; then gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # echo "$as_me:$LINENO: checking for dgettext in libc" >&5 echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6 if test "${gt_cv_func_dgettext_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (int) dgettext ("","") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gt_cv_func_dgettext_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_dgettext_libc=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6 if test "$gt_cv_func_dgettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char bindtextdomain (); int main () { bindtextdomain (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_bindtextdomain=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_bindtextdomain=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6 if test $ac_cv_lib_intl_bindtextdomain = yes; then echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_dgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dgettext (); int main () { dgettext (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_dgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_dgettext=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6 if test $ac_cv_lib_intl_dgettext = yes; then gt_cv_func_dgettext_libintl=yes fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6 echo "$as_me:$LINENO: result: " >&5 echo "${ECHO_T}" >&6 echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6 if test "${ac_cv_lib_intl_dcgettext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dcgettext (); int main () { dcgettext (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_dcgettext=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_intl_dcgettext=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6 if test $ac_cv_lib_intl_dcgettext = yes; then gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then echo "$as_me:$LINENO: result: $GMSGFMT" >&5 echo "${ECHO_T}$GMSGFMT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then CATOBJEXT=.gmo DATADIRNAME=share else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 case $host in *-*-solaris*) echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6 if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* System header to define __stub macros and hopefully few prototypes, which can conflict with char bind_textdomain_codeset (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char bind_textdomain_codeset (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_bind_textdomain_codeset) || defined (__stub___bind_textdomain_codeset) choke me #else char (*f) () = bind_textdomain_codeset; #endif #ifdef __cplusplus } #endif int main () { return f != bind_textdomain_codeset; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_bind_textdomain_codeset=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_bind_textdomain_codeset=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6 if test $ac_cv_func_bind_textdomain_codeset = yes; then CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS echo "$as_me:$LINENO: result: $LINGUAS" >&5 echo "${ECHO_T}$LINGUAS" >&6 fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES if test "x$GCC" = "xyes"; then case " $CFLAGS " in *[\ \ ]-Wall[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wall" ;; esac fi echo "$as_me:$LINENO: checking for library containing crypt" >&5 echo $ECHO_N "checking for library containing crypt... $ECHO_C" >&6 if test "${ac_cv_search_crypt+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS ac_cv_search_crypt=no cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char crypt (); int main () { crypt (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_search_crypt="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_crypt" = no; then for ac_lib in crypt; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char crypt (); int main () { crypt (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_search_crypt="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_search_crypt" >&5 echo "${ECHO_T}$ac_cv_search_crypt" >&6 if test "$ac_cv_search_crypt" != no; then test "$ac_cv_search_crypt" = "none required" || LIBS="$ac_cv_search_crypt $LIBS" test "$ac_cv_search_crypt" = "none required" || AUTHLIBS="-lcrypt $AUTHLIBS" cat >>confdefs.h <<_ACEOF #define HAVE_CRYPT 1 _ACEOF fi SYSCONFDIR=`eval echo $sysconfdir` LOCALSTATEDIR=`eval echo $localstatedir` test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' cat >>confdefs.h <<_ACEOF #define GP_CONF "`eval echo "${sysconfdir}/proftpd.conf"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_VARDIR "`eval echo "${localstatedir}"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_SECURE "`eval echo "${localstatedir}/log/secure"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_XFERLOG "`eval echo "${localstatedir}/log/xferlog"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_SYSCONFDIR "`eval echo "/etc"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_APPCONFDIR "`eval echo "/etc/gproftpd"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_FTPUSERS "`eval echo "/etc/ftpusers"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_SHELLS "`eval echo "/etc/shells"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_SHUTMSG "`eval echo "/etc/shutmsg"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_PASSWD "`eval echo "/etc/passwd"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_SHADOW "`eval echo "/etc/shadow"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_GROUP "`eval echo "/etc/group"`" _ACEOF cat >>confdefs.h <<_ACEOF #define GP_GSHADOW "`eval echo "/etc/gshadow"`" _ACEOF ac_config_files="$ac_config_files Makefile src/Makefile po/Makefile.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi # Support unset when possible. if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by $as_me, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@CYGPATH_W@,$CYGPATH_W,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@AMTAR@,$AMTAR,;t t s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@am__leading_dot@,$am__leading_dot,;t t s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t s,@MAINT@,$MAINT,;t t s,@build@,$build,;t t s,@build_cpu@,$build_cpu,;t t s,@build_vendor@,$build_vendor,;t t s,@build_os@,$build_os,;t t s,@host@,$host,;t t s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t s,@PACKAGE_CFLAGS@,$PACKAGE_CFLAGS,;t t s,@PACKAGE_LIBS@,$PACKAGE_LIBS,;t t s,@GETTEXT_PACKAGE@,$GETTEXT_PACKAGE,;t t s,@USE_NLS@,$USE_NLS,;t t s,@MSGFMT@,$MSGFMT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@XGETTEXT@,$XGETTEXT,;t t s,@CATALOGS@,$CATALOGS,;t t s,@CATOBJEXT@,$CATOBJEXT,;t t s,@DATADIRNAME@,$DATADIRNAME,;t t s,@GMOFILES@,$GMOFILES,;t t s,@INSTOBJEXT@,$INSTOBJEXT,;t t s,@INTLLIBS@,$INTLLIBS,;t t s,@PO_IN_DATADIR_TRUE@,$PO_IN_DATADIR_TRUE,;t t s,@PO_IN_DATADIR_FALSE@,$PO_IN_DATADIR_FALSE,;t t s,@POFILES@,$POFILES,;t t s,@POSUB@,$POSUB,;t t s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t s,@SYSCONFDIR@,$SYSCONFDIR,;t t s,@LOCALSTATEDIR@,$LOCALSTATEDIR,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; *) # Relative if test -f "$f"; then # Build tree echo $f elif test -f "$srcdir/$f"; then # Source tree echo $srcdir/$f else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'`/stamp-h$_am_stamp_count done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be # absolute. ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # Extract the definition of DEP_FILES from the Makefile without # running `make'. DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` test -z "$DEPDIR" && continue # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n -e '/^U = / s///p' < "$mf"` test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" # We invoke sed twice because it is the simplest approach to # changing $(DEPDIR) to its actual value in the expansion. for file in `sed -n -e ' /^DEP_FILES = .*\\\\$/ { s/^DEP_FILES = // :loop s/\\\\$// p n /\\\\$/ b loop p } /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p $dirpart/$fdir else as_dir=$dirpart/$fdir as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; default-1 ) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi 0707010001dbb0000081a400000002000000020000000140d22eda00000f22000000200000000000000000000000000000001300000000reloc/configure.indnl Process this file with autoconf to produce a configure script. AC_INIT(configure.in) AM_INIT_AUTOMAKE(gproftpd, 8.1.7) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE AC_CANONICAL_HOST AC_MSG_CHECKING([for OS type]) case $host in *-linux*) AC_MSG_RESULT([Linux ($host) found.]) AC_DEFINE(USE_LINUX,1,[using linux macros...]) ;; *-solaris*) AC_MSG_RESULT([Solaris ($host) found.]) AC_DEFINE(USE_SUNOS,1,[using sunos macros...]) ;; *-sunos*) AC_MSG_RESULT([Solaris ($host) found.]) AC_DEFINE(USE_SUNOS,1,[using sunos macros...]) ;; *-freebsd*) AC_MSG_RESULT([Free BSD ($host) found.]) AC_DEFINE(USE_FREEBSD,1,[using freebsd macros...]) ;; *-openbsd*) AC_MSG_RESULT([Open BSD ($host) found.]) AC_DEFINE(USE_OPENBSD,1,[using openbsd macros...]) ;; *-netbsd*) AC_MSG_RESULT([Net BSD ($host) found.]) AC_DEFINE(USE_NETBSD,1,[using netbsd macros...]) ;; *-darwin*) AC_MSG_RESULT([Darwin Mac OS X ($host) found.]) AC_DEFINE(USE_DARWIN,1,[using darwin macros...]) ;; *-aix*) AC_MSG_RESULT([AIX ($host) found.]) AC_DEFINE(USE_AIX,1,[using aix macros...]) ;; *-hpux*) AC_MSG_RESULT([HP UX ($host) found.]) AC_DEFINE(USE_HPUX,1,[using hpux macros...]) ;; *) AC_MSG_RESULT([Unknown host found: ($host). Using Linux macros...]) AC_DEFINE(USE_LINUX,1,[using Linux macros...]) ;; esac AC_ISC_POSIX AC_PROG_CC AM_PROG_CC_STDC AC_HEADER_STDC pkg_modules="gtk+-2.0 >= 1.3.13" PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) AC_SUBST(PACKAGE_CFLAGS) AC_SUBST(PACKAGE_LIBS) GETTEXT_PACKAGE=gproftpd AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[needed for gettext...]) dnl Add the languages which your application supports here. ALL_LINGUAS="sv es" AM_GLIB_GNU_GETTEXT dnl Use -Wall if we have gcc (added -lcrypt for crypt). changequote(,)dnl if test "x$GCC" = "xyes"; then case " $CFLAGS " in *[\ \ ]-Wall[\ \ ]*) ;; *) CFLAGS="$CFLAGS -Wall" ;; esac fi changequote([,])dnl dnl Determine if we can link with -lcrypt AC_SEARCH_LIBS(crypt, [crypt], [test "$ac_cv_search_crypt" = "none required" || AUTHLIBS="-lcrypt $AUTHLIBS" AC_DEFINE_UNQUOTED(HAVE_CRYPT,1,[Define for linking with -lcrypt])]) dnl some dynamic defines and corrections for configure options SYSCONFDIR=`eval echo $sysconfdir` AC_SUBST(SYSCONFDIR) LOCALSTATEDIR=`eval echo $localstatedir` AC_SUBST(LOCALSTATEDIR) test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' dnl These can be changed by configure options. AC_DEFINE_UNQUOTED(GP_CONF,"`eval echo "${sysconfdir}/proftpd.conf"`",[path to proftpd.conf]) AC_DEFINE_UNQUOTED(GP_VARDIR,"`eval echo "${localstatedir}"`",[var dir]) AC_DEFINE_UNQUOTED(GP_SECURE,"`eval echo "${localstatedir}/log/secure"`",[path to the system log]) AC_DEFINE_UNQUOTED(GP_XFERLOG,"`eval echo "${localstatedir}/log/xferlog"`",[path to xferlog]) dnl Here we hardcode passwd, shadow, group, gshadow, ftpusers and shutmsg. dnl This is how proftpd currently (1.2.9) handles this and why not. AC_DEFINE_UNQUOTED(GP_SYSCONFDIR,"`eval echo "/etc"`",[etc dir]) AC_DEFINE_UNQUOTED(GP_APPCONFDIR,"`eval echo "/etc/gproftpd"`",[application config dir]) AC_DEFINE_UNQUOTED(GP_FTPUSERS,"`eval echo "/etc/ftpusers"`",[path to ftpusers]) AC_DEFINE_UNQUOTED(GP_SHELLS,"`eval echo "/etc/shells"`",[path to shells]) AC_DEFINE_UNQUOTED(GP_SHUTMSG,"`eval echo "/etc/shutmsg"`",[path to shutmsg]) AC_DEFINE_UNQUOTED(GP_PASSWD,"`eval echo "/etc/passwd"`",[path to passwd]) AC_DEFINE_UNQUOTED(GP_SHADOW,"`eval echo "/etc/shadow"`",[path to shadow]) AC_DEFINE_UNQUOTED(GP_GROUP,"`eval echo "/etc/group"`",[path to group]) AC_DEFINE_UNQUOTED(GP_GSHADOW,"`eval echo "/etc/gshadow"`",[path to gshadow]) AC_OUTPUT([ Makefile src/Makefile po/Makefile.in ]) 0707010001dbb1000081ed0000000200000002000000013d45379900002f5b000000200000000000000000000000000000000e00000000reloc/depcomp#! /bin/sh # depcomp - compile a program generating dependencies as side-effects # Copyright 1999, 2000 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # `libtool' can also be set to `yes' or `no'. if test -z "$depfile"; then base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` dir=`echo "$object" | sed 's,/.*$,/,'` if test "$dir" = "$object"; then dir= fi # FIXME: should be _deps on DOS. depfile="$dir.deps/$base" fi tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. This file always lives in the current directory. # Also, the AIX compiler puts `$object:' at the start of each line; # $object doesn't have directory information. stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1="$dir.libs/$base.lo.d" tmpdepfile2="$dir.libs/$base.d" "$@" -Wc,-MD else tmpdepfile1="$dir$base.o.d" tmpdepfile2="$dir$base.d" "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi if test -f "$tmpdepfile1"; then tmpdepfile="$tmpdepfile1" else tmpdepfile="$tmpdepfile2" fi if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a space and a tab in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the proprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. We will use -o /dev/null later, # however we can't do the remplacement now because # `-o $object' might simply not be used IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; -*) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the proprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the proprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 0707010001dbb2000041ed0000000000000001000000024175dc3700000000000000200000000000000000000000000000000e00000000reloc/desktop0707010001dbb3000081a40000000200000002000000013e7a05aa000001cf000000200000000000000000000000000000002300000000reloc/desktop/net-gproftpd.desktop[Desktop Entry] Encoding=UTF-8 Name=GProFTPD Name[de]=GProFTPD Name[es]=GProFTPD Name[fi]=GProFTPD Name[fr]=GProFTPD Name[ko]=GProFTPD Name[no]=GProFTPD Name[pt_BR]=GProFTPD Name[sl]=GProFTPD Name[sv]=GProFTPD Name[uk]=GProFTPD Name[ro]=GProFTPD Name[zh_TW]=GProFTPD GenericName=GProFTPD Comment=Graphical Proftpd administration Exec=gproftpd Icon=gproftpd.png Terminal=false Type=Application Categories=Application;Network;X-Red-Hat-ServerConfig;X-Red-Hat-Base; 0707010001dbb4000041ed0000000000000001000000034175dc3700000000000000200000000000000000000000000000000c00000000reloc/dists0707010001dbb5000081a40000000200000002000000013f8889150000006b000000200000000000000000000000000000001900000000reloc/dists/Readme.distsThis dists directory is for distribution specific files. It makes things more organized for the developer. 0707010001dbb6000041ed0000000000000001000000044175dc3700000000000000200000000000000000000000000000001300000000reloc/dists/redhat0707010001dbb7000041ed0000000000000001000000024175dc3700000000000000200000000000000000000000000000001900000000reloc/dists/redhat/pam.d0707010001dbb8000081a40000000200000002000000013f318d880000012c000000200000000000000000000000000000002200000000reloc/dists/redhat/pam.d/gproftpd#%PAM-1.0 auth sufficient pam_rootok.so auth sufficient pam_timestamp.so auth required pam_stack.so service=system-auth session required pam_permit.so session optional pam_xauth.so session optional pam_timestamp.so account required pam_permit.so 0707010001dbb9000041ed0000000000000001000000034175dc3700000000000000200000000000000000000000000000001c00000000reloc/dists/redhat/security0707010001dbba000041ed0000000000000001000000024175dc3800000000000000200000000000000000000000000000002900000000reloc/dists/redhat/security/console.apps0707010001dbbb000081a40000000200000002000000013f16ba1500000032000000200000000000000000000000000000003200000000reloc/dists/redhat/security/console.apps/gproftpdUSER=root PROGRAM=/usr/sbin/gproftpd SESSION=true 0707010001dbbc000041ed0000000000000001000000024175dc3800000000000000200000000000000000000000000000000a00000000reloc/etc0707010001dbbd000081a40000000200000002000000013f43d37500002db3000000200000000000000000000000000000001700000000reloc/etc/gproftpd.pemCertificate Request: Data: Version: 0 (0x0) Subject: C=SV, ST=State or province, L=City or town, O=Organization, OU=Organizational unit, CN=127.0.0.1/Email=bogusmail@bogusdomain.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (4096 bit) Modulus (4096 bit): 00:d2:e0:0b:21:ef:3b:40:48:27:60:67:be:58:4d: 93:f5:a7:b5:ef:c0:fd:6d:02:f4:22:f5:57:90:f2: 01:68:a3:3d:72:6c:77:22:ae:3a:ac:82:c7:d7:db: 67:d2:04:82:e0:d8:53:2a:63:d1:8f:50:35:a1:77: d3:e3:37:87:8d:23:f6:a4:59:ac:16:f5:e7:7c:78: 9c:19:a9:8c:53:3b:12:52:ac:d4:83:e2:07:18:c0: 10:38:21:b7:3f:65:11:91:19:43:7f:6e:fd:02:80: 13:3e:3b:6b:f5:51:6d:06:82:cc:b0:f1:6c:c2:4b: f6:48:3d:91:e8:ff:fa:8e:6f:f4:ac:1c:57:e7:17: 7d:56:61:b4:15:23:95:4b:e9:72:42:87:3e:cf:58: b9:e0:4b:41:7d:15:30:59:e4:13:7b:80:b5:46:fc: af:cc:3a:ba:f1:14:c8:a1:6d:fd:8d:ab:1c:15:64: 80:06:7d:1f:3a:13:cb:2a:db:5a:4d:73:ed:17:d9: 43:69:7e:12:60:4d:f3:f1:a1:07:b9:f3:e4:89:7c: f4:b8:8b:dc:7e:d6:3b:db:b3:41:a1:e4:6f:23:4f: e6:b8:84:7e:1b:a3:fa:3e:4a:bc:9e:23:25:f2:cc: ba:33:fb:1e:f8:ab:2d:ae:c1:89:a0:f5:7a:77:d5: 2f:f4:af:bf:fd:76:97:08:fb:1c:92:20:98:e0:3f: e3:e5:f1:7f:98:53:24:79:22:1f:6a:c0:56:d3:f3: a1:de:59:ad:30:0f:ec:5b:fe:f9:52:1c:7d:7b:e2: 94:4c:5a:de:18:2f:45:15:ad:47:38:09:f8:00:9e: fd:ba:4e:10:fa:c8:09:5f:58:13:41:58:12:15:57: 44:20:d0:94:f5:82:a7:01:27:76:98:b4:db:92:9a: 90:3f:64:e7:56:1b:ef:33:e9:07:e5:b2:b5:b3:da: 78:ab:38:3c:75:33:fc:d4:63:a8:ad:78:e2:0c:dd: d7:0e:c4:58:c9:a1:74:fe:a6:f3:d0:af:47:e0:ab: 26:f9:d7:a4:54:43:9b:97:b8:c3:3f:2d:3c:d2:9f: 03:02:0f:ea:be:d7:99:20:16:4e:6b:0e:15:a4:83: bf:14:56:42:75:2f:78:2d:ff:11:f3:c1:58:a0:6d: 79:2b:ed:6e:38:8e:97:d8:fc:2b:45:35:0d:3e:47: 76:45:1b:ac:ce:0f:30:5a:f6:bb:c1:a9:93:30:1a: 21:b8:30:73:29:9d:8e:9d:5e:e9:de:18:ff:6d:f6: 21:41:64:42:cf:b5:1c:38:29:e4:87:20:02:15:7a: 9f:7c:f5:3b:b5:81:63:43:1a:df:8d:66:aa:bf:e8: 82:6f:39 Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: md5WithRSAEncryption ac:eb:d7:ba:23:2d:9c:b2:e1:88:38:8a:be:b6:63:5a:26:44: 9a:72:66:b4:18:2c:ae:92:7e:58:ca:e4:79:cc:db:83:b7:63: d1:9f:9f:19:53:dd:5e:e9:80:86:31:2f:4e:fc:12:c0:c0:79: bc:c3:27:ab:ee:21:37:85:f7:9c:59:f1:31:be:9a:48:1d:f9: 5a:db:a5:2a:83:ba:3d:2e:3f:15:e7:35:56:31:c7:92:86:1c: c3:e4:54:40:3e:8f:c3:1e:bb:37:16:74:d6:ae:47:88:83:c3: f4:73:2a:bb:16:be:7a:b0:58:6b:68:f1:25:fa:88:59:88:90: 7c:ce:bb:76:54:69:92:e9:4f:f5:12:a4:be:08:de:bb:70:89: d6:0d:0f:ca:68:a5:c6:f8:ff:cf:b8:41:4b:28:2e:34:20:b4: f9:de:14:8d:27:e9:ce:11:6e:68:f0:fa:5d:03:fb:36:39:b7: 34:65:8a:19:2c:4d:d8:b7:d4:32:4d:42:77:1e:5f:d1:7c:18: ea:4b:8c:e8:9f:b8:5f:01:12:29:99:2b:a6:60:63:da:ee:69: 49:d1:99:fb:1c:8f:d8:64:9e:24:97:23:ab:d6:74:b1:03:18: a4:22:bd:e3:1a:a6:63:bd:0a:94:3c:75:bd:ee:20:84:6d:bf: 2d:fd:61:e8:b1:10:be:04:17:61:aa:92:29:21:b7:e1:3d:42: 76:6c:f9:3d:04:61:1d:a9:7f:ea:85:44:8e:76:b3:92:34:67: 75:5b:9d:69:af:74:2a:70:ba:a3:ab:e9:41:1f:e5:68:40:38: 35:ee:a2:a1:01:6f:e7:41:f6:5b:31:ec:ae:2f:e9:79:08:dd: 03:88:95:10:08:48:81:c1:a8:43:43:6b:51:99:25:39:cc:e5: 20:55:f4:8a:64:52:2b:7e:64:ee:38:95:a5:21:29:ad:51:e6: 55:8f:c5:c4:42:9e:98:6c:7d:d4:ff:dd:14:9b:2c:52:2f:63: 4a:00:86:06:4c:d9:20:81:c2:cd:00:41:a9:89:52:4e:55:27: b1:ff:69:10:e8:a5:b3:8e:a4:04:5f:4f:74:7a:42:80:f4:af: d4:34:48:31:c7:48:36:a5:37:ad:1b:07:c0:fc:65:ab:b0:99: e9:23:2b:4b:44:76:4d:7f:42:3f:64:d7:8f:d6:3f:70:f2:61: bd:cf:22:f4:68:bd:2b:2f:eb:e4:24:22:82:3c:c4:f8:b0:c3: 11:3f:e0:98:16:4c:4f:d5:d5:ce:1f:03:04:49:31:3f:79:a1: 93:27:62:d6:51:e0:c1:3f:2c:a3:aa:54:de:37:c6:aa:5e:74: b2:55:72:c5:03:cd:52:40 -----BEGIN NEW CERTIFICATE REQUEST----- MIIE+TCCAuECAQAwgbMxCzAJBgNVBAYTAlNWMRowGAYDVQQIExFTdGF0ZSBvciBw cm92aW5jZTEVMBMGA1UEBxMMQ2l0eSBvciB0b3duMRUwEwYDVQQKEwxPcmdhbml6 YXRpb24xHDAaBgNVBAsTE09yZ2FuaXphdGlvbmFsIHVuaXQxEjAQBgNVBAMTCTEy Ny4wLjAuMTEoMCYGCSqGSIb3DQEJARYZYm9ndXNtYWlsQGJvZ3VzZG9tYWluLmNv bTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANLgCyHvO0BIJ2BnvlhN k/Wnte/A/W0C9CL1V5DyAWijPXJsdyKuOqyCx9fbZ9IEguDYUypj0Y9QNaF30+M3 h40j9qRZrBb153x4nBmpjFM7ElKs1IPiBxjAEDghtz9lEZEZQ39u/QKAEz47a/VR bQaCzLDxbMJL9kg9kej/+o5v9KwcV+cXfVZhtBUjlUvpckKHPs9YueBLQX0VMFnk E3uAtUb8r8w6uvEUyKFt/Y2rHBVkgAZ9HzoTyyrbWk1z7RfZQ2l+EmBN8/GhB7nz 5Il89LiL3H7WO9uzQaHkbyNP5riEfhuj+j5KvJ4jJfLMujP7HvirLa7BiaD1enfV L/Svv/12lwj7HJIgmOA/4+Xxf5hTJHkiH2rAVtPzod5ZrTAP7Fv++VIcfXvilExa 3hgvRRWtRzgJ+ACe/bpOEPrICV9YE0FYEhVXRCDQlPWCpwEndpi025KakD9k51Yb 7zPpB+WytbPaeKs4PHUz/NRjqK144gzd1w7EWMmhdP6m89CvR+CrJvnXpFRDm5e4 wz8tPNKfAwIP6r7XmSAWTmsOFaSDvxRWQnUveC3/EfPBWKBteSvtbjiOl9j8K0U1 DT5HdkUbrM4PMFr2u8GpkzAaIbgwcymdjp1e6d4Y/232IUFkQs+1HDgp5IcgAhV6 n3z1O7WBY0Ma341mqr/ogm85AgMBAAGgADANBgkqhkiG9w0BAQQFAAOCAgEArOvX uiMtnLLhiDiKvrZjWiZEmnJmtBgsrpJ+WMrkeczbg7dj0Z+fGVPdXumAhjEvTvwS wMB5vMMnq+4hN4X3nFnxMb6aSB35WtulKoO6PS4/Fec1VjHHkoYcw+RUQD6Pwx67 NxZ01q5HiIPD9HMquxa+erBYa2jxJfqIWYiQfM67dlRpkulP9RKkvgjeu3CJ1g0P ymilxvj/z7hBSyguNCC0+d4UjSfpzhFuaPD6XQP7Njm3NGWKGSxN2LfUMk1Cdx5f 0XwY6kuM6J+4XwESKZkrpmBj2u5pSdGZ+xyP2GSeJJcjq9Z0sQMYpCK94xqmY70K lDx1ve4ghG2/Lf1h6LEQvgQXYaqSKSG34T1Cdmz5PQRhHal/6oVEjnazkjRndVud aa90KnC6o6vpQR/laEA4Ne6ioQFv50H2WzHsri/peQjdA4iVEAhIgcGoQ0NrUZkl OczlIFX0imRSK35k7jiVpSEprVHmVY/FxEKemGx91P/dFJssUi9jSgCGBkzZIIHC zQBBqYlSTlUnsf9pEOils46kBF9PdHpCgPSv1DRIMcdINqU3rRsHwPxlq7CZ6SMr S0R2TX9CP2TXj9Y/cPJhvc8i9Gi9Ky/r5CQigjzE+LDDET/gmBZMT9XVzh8DBEkx P3mhkydi1lHgwT8so6pU3jfGql50slVyxQPNUkA= -----END NEW CERTIFICATE REQUEST----- -----BEGIN CERTIFICATE----- MIIF3DCCA8QCAQAwDQYJKoZIhvcNAQEEBQAwgbMxCzAJBgNVBAYTAlNWMRowGAYD VQQIExFTdGF0ZSBvciBwcm92aW5jZTEVMBMGA1UEBxMMQ2l0eSBvciB0b3duMRUw EwYDVQQKEwxPcmdhbml6YXRpb24xHDAaBgNVBAsTE09yZ2FuaXphdGlvbmFsIHVu aXQxEjAQBgNVBAMTCTEyNy4wLjAuMTEoMCYGCSqGSIb3DQEJARYZYm9ndXNtYWls QGJvZ3VzZG9tYWluLmNvbTAeFw0wMzA4MjAyMDAwNTNaFw0wNjA1MTkyMDAwNTNa MIGzMQswCQYDVQQGEwJTVjEaMBgGA1UECBMRU3RhdGUgb3IgcHJvdmluY2UxFTAT BgNVBAcTDENpdHkgb3IgdG93bjEVMBMGA1UEChMMT3JnYW5pemF0aW9uMRwwGgYD VQQLExNPcmdhbml6YXRpb25hbCB1bml0MRIwEAYDVQQDEwkxMjcuMC4wLjExKDAm BgkqhkiG9w0BCQEWGWJvZ3VzbWFpbEBib2d1c2RvbWFpbi5jb20wggIiMA0GCSqG SIb3DQEBAQUAA4ICDwAwggIKAoICAQDS4Ash7ztASCdgZ75YTZP1p7XvwP1tAvQi 9VeQ8gFooz1ybHcirjqsgsfX22fSBILg2FMqY9GPUDWhd9PjN4eNI/akWawW9ed8 eJwZqYxTOxJSrNSD4gcYwBA4Ibc/ZRGRGUN/bv0CgBM+O2v1UW0Ggsyw8WzCS/ZI PZHo//qOb/SsHFfnF31WYbQVI5VL6XJChz7PWLngS0F9FTBZ5BN7gLVG/K/MOrrx FMihbf2NqxwVZIAGfR86E8sq21pNc+0X2UNpfhJgTfPxoQe58+SJfPS4i9x+1jvb s0Gh5G8jT+a4hH4bo/o+SryeIyXyzLoz+x74qy2uwYmg9Xp31S/0r7/9dpcI+xyS IJjgP+Pl8X+YUyR5Ih9qwFbT86HeWa0wD+xb/vlSHH174pRMWt4YL0UVrUc4CfgA nv26ThD6yAlfWBNBWBIVV0Qg0JT1gqcBJ3aYtNuSmpA/ZOdWG+8z6QflsrWz2nir ODx1M/zUY6iteOIM3dcOxFjJoXT+pvPQr0fgqyb516RUQ5uXuMM/LTzSnwMCD+q+ 15kgFk5rDhWkg78UVkJ1L3gt/xHzwVigbXkr7W44jpfY/CtFNQ0+R3ZFG6zODzBa 9rvBqZMwGiG4MHMpnY6dXuneGP9t9iFBZELPtRw4KeSHIAIVep989Tu1gWNDGt+N Zqq/6IJvOQIDAQABMA0GCSqGSIb3DQEBBAUAA4ICAQDSae4MlE/ePbk6y8JsY6vk S19lRO2/h7fjKhbGwvwXwhyB0tvpAECbeNDTC6Ch1sdKHryCeiZJnE7FKkzlycgs /3l+0dLDv9ctUi4HJd3E+GzZfEYgRHNephl10Apyun1e/SOwROg4QyxbJCIsa0OK Yo5vrpnCTLKwD9sB+XLHOCMLKikL3Yoe7ygnZ20ApbNLjFpMyaBE9WlrMB5uQHFw 4jYOEhOjzMYTAYpNcvRQNE2n+TGai5k2hMPtiusJzuB/1Vgp/qVrGt/IUNPEVM5Z Dcq738GK9tcr2OZ8aFTLWkh07Ao8Eov4wP7bPlkA/p6T0PxJBzYYO9zWFXknV7MG mPkRes/rTU9N26uwCDl7/7kjp4LQj5le8uQM4Gwx16uM3FE+uhT4xiucuzKbLak7 uF20WUR8Df7y81vGgFNaR/HE2LOW5UjlOeM0Mk1PcLBFYZrwKn+z0oZQ8Ltood+a aW0EyR2MhuuvhwgdeAaVGjBh3jQjStaaMKBSHCCS/kcDUJJKDO9ZPjeE6uUfeZFQ ++cN9PPk3XkbGP09RwU24QAe0h7JthFu+4wn9rB2tezZdKlk5frLGXJ/sqi3dvl2 IAF/d1cn+c37YZOBz8xWWsK4hg7vUQp5bcU6RULpxs3LE7yX/HyvSP7WD2xw5V5V iAQolqFTAwVPq2XUKqzIWw== -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- MIIJKQIBAAKCAgEA0uALIe87QEgnYGe+WE2T9ae178D9bQL0IvVXkPIBaKM9cmx3 Iq46rILH19tn0gSC4NhTKmPRj1A1oXfT4zeHjSP2pFmsFvXnfHicGamMUzsSUqzU g+IHGMAQOCG3P2URkRlDf279AoATPjtr9VFtBoLMsPFswkv2SD2R6P/6jm/0rBxX 5xd9VmG0FSOVS+lyQoc+z1i54EtBfRUwWeQTe4C1RvyvzDq68RTIoW39jascFWSA Bn0fOhPLKttaTXPtF9lDaX4SYE3z8aEHufPkiXz0uIvcftY727NBoeRvI0/muIR+ G6P6Pkq8niMl8sy6M/se+KstrsGJoPV6d9Uv9K+//XaXCPsckiCY4D/j5fF/mFMk eSIfasBW0/Oh3lmtMA/sW/75Uhx9e+KUTFreGC9FFa1HOAn4AJ79uk4Q+sgJX1gT QVgSFVdEINCU9YKnASd2mLTbkpqQP2TnVhvvM+kH5bK1s9p4qzg8dTP81GOorXji DN3XDsRYyaF0/qbz0K9H4Ksm+dekVEObl7jDPy080p8DAg/qvteZIBZOaw4VpIO/ FFZCdS94Lf8R88FYoG15K+1uOI6X2PwrRTUNPkd2RRuszg8wWva7wamTMBohuDBz KZ2OnV7p3hj/bfYhQWRCz7UcOCnkhyACFXqffPU7tYFjQxrfjWaqv+iCbzkCAwEA AQKCAgBl+hzIG1Xu/zWzpFfjghi0apdMS2sC5bPEmBrxqGbQAGk9xYBTkCglttUH 6T2qza2xKEwHqt/zy1k0LauVLQxrT+H9lrPnIqIAip8Ktfh7Y4y32IapBIxkBrWR P5TLnofBQJNos/a818z2gmvx5Z+wz15Hj2kGCRAf3U6LfAbiDPgop0hHJA/jzzn0 IxIW9NzhmV/hi8nP0vTnlXCdd/OH/TUtEBO/0wMGhQOFNZixgvcAzWowOR/5yQqu PgfMfuxAZTv5bxNZ6Ti4OCRxY6W4a2o5OMG3wMiPtX9e2AZ68C/mOYR2v3TL3P6c BulaInFFpAJVRQrBgSyaXzwLaVhXvXH51mUi23evzLS8XfnHWApEQDmi5q4/wp7W w6kn8PQ8wP26T3jUC69NdvS6IaVUUwjg3b0NhLNzLlVpEqe+70lQtI6to6lw9fAb Z6ZYsfviBj0OehndDyoTtxztQIM2efkzGgM/tXmNn5Ge+REOdgyoBYAcygSWn/zs 3mduhmN81aGtPkBY5Ql/BiL/6Y3JoWWu5WfNVbv1Aa/2hK/lZFp1xyQY54yOI4i+ aXjBLXlM4+qJTtFIxLrQcmQX7+p9jTSLSgyD70ArSISFe4MCgQ1HXIp4KyBzXHgC k8cT6iwx4EuLfz+dIz4xLPMsB+N2Y/PhQGZ9w8AboqDmbgy1gQKCAQEA/b22T/qT XGVt1NGnV1f9FTBPcgS/LcEpOD2ihgV4zzJSFA3MTYhgB/YhVoBRB4yLjxNzAy4r pQwNvQXdiifHsAu8+1Id18YaKGZnXnFO5WBkrWVz/vxKCraBYKjrKgKredtma6ea xO/9VlY93NORklrHtHq2zlTMQExQdBAhZZdIA6ffltLqciHwDTXc3gK0Po6wmFOI KCBMmpUtR8eRsoqT/ANdMqVm/TpwOkD/7jmsu9zTyYS9faiin64vwvPpT5cKICEa kVzmdPQaUdRdF52XYVRFms8qMYLRHAievkZukY+f2jp3glCXCa1KgFF8GT0DLKrH AoB4oa9dplIq8QKCAQEA1MCjT+EZlpXFgOIm7iKNYmpXiTvPkT+AXAPCqE+K4d5w 1LKeB3Du8SWAcdc/EYHq5z/9aw2847K8oL7pqhzmG1tn6iPJmp7mUuxqIomeSrgb p+4pfbTmSGduN60VpKSQBH0ojk3Gbepsl09Kup5+VOsDJM61qBsUsAKUXx/sZu4G HOhhK3tU7Kq4zY81GlcvvGdCNMUeLmCuf9MaKcI536CpqJG8fUD5fB5u8FYe7rOh pA+yeeJT0Udw/oCq4yf7D2ST5ybQOZxYnB014tHYvHxrPI5QX6JPeblJjg4I47Pb eFd6DGdwpe98GfJ3OMOTvLVmV/xsV5Y/TsN2fjo4yQKCAQEA6DrSeh6e8iiOvgHo A0OviM3/WB5KDwlDvYqDjd/CMvgeMOZz/t367i5xUqb8Akm6jQdC8z01isgeZsrQ eRpxY4lKvEXqtEpGNIWMw942VC7F1gENiejDp0xj2uCe4oMxB8Uq1wq91tLC7Vrf IZWtHOLi9iZ92xe3HH38AE2nE0DDEz14oKSHGFBBUQXkEHkvGDYmIDQLYJY3Jh+0 IobfrSWxzSwTB0BkowzyHA7TbefxVLsGRuCrQS+vLzAP3IC6HzLgfIlvtGzvK0ki MZSIYw3Dt7uWPNqwBkJxOhQVnZX+qlBmACgUqvsxURT+I7TwPHUfy6i9nWeRgIFs 18VKMQKCAQBqbtzEj2YPsWmW6oxzQZHdlDmqi+NxVIVQgwkUzoY6LN/haGIqctL2 jL5PNVF13rq3aYnLzpmah8ZZ3GhlFAQB156KwdCPq8Kp5V/LW3F3C9e6ESlsm91A h43aCJr1POZXeI2bc0k7n7UnlSFbbwLgVJnEBi1WpgWZcBDt7biEXbttJsvFxvNb WqUNIQF95fQZmsbCQ4KvzOo/REqobWQqfeOiUxYqyyCEeW0iitL6s56/xqKQ2yr3 XXgnuhLDhTLSJozfbMlqqM6jevGEQVreIJg9OSz4SujbilhD2r2TvFylPY3vOqhe OwqoqGYAXcdA9rb2eW9x+dY9/wb+av4RAoIBAQDp5WTsWyC9M+tRTpOVzRQtStom g93g6yMwAuyYAeHGpbjSFambVrsoZ286g15qxsvDXPbaDzGd9R7EMqDJlMyPENfg ENEQoXOU1gUD+D8pkyxNCx+AWrhq1sFUD6Ske+THlfODkBH3IvtwXRSWJxE88+JC bw0JUY8HZ2Pk4OM/aQVobm8SjvfmiBmBfCunPMTQN/U2d3ursfHEpbiaYKo0n3fu FRItnomQXB7EQcX1GQXeeul+fc4ZtvEZ1nZjoD6a4GRt33DqbxK1zsKkqN5vmM65 g8+2P3O+Z7VMU0sCqznN+CjEej/W+37MXpGueBEj3KDWqlHDGNWB8bD8L+te -----END RSA PRIVATE KEY----- 0707010001dbbe000081a40000000200000002000000013ffb9806000001a6000000200000000000000000000000000000001700000000reloc/etc/gprotls.conf[ req ] default_bits = 1024 default_days = 730 distinguished_name = req_distinguished_name prompt = no output_password = [ req_distinguished_name ] C = ST = State or province L = City or town O = Organization OU = Organizational unit CN = 127.0.0.1 emailAddress = bogusmail@bogusdomain.com [ req_attributes ] challengePassword = 0707010001dbbf000081a400000002000000020000000140c6601100000847000000200000000000000000000000000000001400000000reloc/gproftpd.spec%define desktop_vendor newrpms %{!?_dist: %{expand: %%define dist rhfc2}} Summary: GProFTPD -- A GTK+ administation tool for the ProFTPD server. Name: gproftpd Version: 8.1.7 Release: 0.2.%{dist}.nr Copyright: GPL Group: Applications/System URL: http://mange.dynup.net/linux.html Source0: http://mange.dynup.net/linux/%{name}/%{name}-%{version}.tar.gz BuildRoot: %{_builddir}/%{name}-%{version}-root Provides: gproftpd gprostats %description GProFTPD is a fast and easy to use GTK+ administration tool for the proftpd standalone server. %prep %setup -q %configure %build %{__make} %install rm -rf $RPM_BUILD_ROOT %makeinstall INSTALL_USER=`id -un` INSTALL_GROUP=`id -gn` # pam auth install -d %{buildroot}%{_sysconfdir}/pam.d/ install -d %{buildroot}%{_sysconfdir}/security/console.apps install -m 644 dists/redhat/pam.d/%{name} %{buildroot}%{_sysconfdir}/pam.d/%{name} install -m 644 dists/redhat/security/console.apps/%{name} %{buildroot}%{_sysconfdir}/security/console.apps/%{name} # desktop entry install -d %{buildroot}%{_datadir}/applications install -m 644 desktop/net-gproftpd.desktop %{buildroot}%{_datadir}/applications/%{desktop_vendor}-%{name}.desktop %find_lang %name %post if test ! -h /usr/bin/gproftpd ; then \ ln -s /usr/bin/consolehelper /usr/bin/gproftpd ; \ fi ; %clean rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(0755, root, root) %{_sbindir}/%{name} %{_sbindir}/gprostats %defattr(0660, root, root) %{_sysconfdir}/%{name}/%{name}.pem %config %{_sysconfdir}/%{name}/gprotls.conf %defattr(0644, root, root) %doc COPYING AUTHORS ChangeLog NEWS %{_sysconfdir}/pam.d/%{name} %{_sysconfdir}/security/console.apps/%{name} %{_datadir}/applications/%{desktop_vendor}-%{name}.desktop %{_datadir}/pixmaps/*.png %dir %{_datadir}/pixmaps/%{name} %{_datadir}/pixmaps/%{name}/*.png %{_datadir}/pixmaps/%{name}/%{name}36.xpm %changelog * Wed Jun 09 2004 Magnus-swe - Moved the user importer to the server tab. - Made everything translatable. - Added Swedish translation. - Improved the credits window. * Mon May 31 2004 Che - Initial rpm release 0707010001dbc0000081ed0000000200000002000000013d453799000015c1000000200000000000000000000000000000001100000000reloc/install-sh#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else : fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=$mkdirprog fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f "$src" ] || [ -d "$src" ] then : else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else : fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else : fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else : fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else : fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 0707010001dbc1000081ff0000000200000002000000014175db930000121a000000200000000000000000000000000000001300000000reloc/make_package#!/usr/bin/perl -w # # Automated processes to create SUN packages # You can run this script after you did a 'make install' in the chrooted # environment. Run it from the /packagename-1.0/usr/local/ directory # # JA: 06-01-2000 Initial release # JA: 25-01-2000 Beautified a little # AH: 20-07-2000 Beautified a bit more $find = "/usr/bin/find"; $pkgproto = "/usr/bin/pkgproto"; $pkgmk = "/usr/bin/pkgmk"; $pkgtrans = "/usr/bin/pkgtrans"; $temp = "/tmp/prototype$$"; $prototype = "prototype"; $pkginfo = "pkginfo"; ($gid ,$pkg ,$uid ,$userInfo ,$email ,$quota ,$group ,$passwd ,$category ,$userHome ,$vendor ,$loginShell ,$pstamp ,$basedir)=(); # Sanitycheck $pwd = `pwd`; if ($pwd =~ '\/usr\/local') { $pwd = $`; } die "Wrong location, please cd to /usr/local/ and run again.\n" if ($pwd eq ""); system ("$find . -print | $pkgproto > $temp"); open (PREPROTO,"<$temp") || die "Unable to read prototype information ($!)\n"; open (PROTO,">$prototype") || die "Unable to write file prototype ($!)\n"; print PROTO "i pkginfo=./$pkginfo\n"; while () { # Read the prototype information from /tmp/prototype$$ chomp; $thisline = $_; if ($thisline =~ " prototype " or $thisline =~ " pkginfo ") { # We don't need that line } elsif ($thisline =~ "^[fd] ") { # Change the ownership for files and directories ($dir, $none, $file, $mode, $user, $group) = split / /,$thisline; print PROTO "$dir $none $file $mode bin bin\n"; } else { # Symlinks and other stuff should be printed as well ofcourse print PROTO "$thisline\n"; } } close PROTO; close PREPROTO; # Clean up unlink $temp || warn "Unable to remove tempfile ($!)\n"; # Now we can start building the package # # First get some info $thispackage = `basename $pwd`; if ($thispackage =~ '-') { $default{"name"} = $`; $default{"version"} = $'; chomp $default{"version"}; } else { $default{"name"} = $thispackage; chomp $default{"name"}; $default{"version"} = "1.0"; } $default{"pkg"} = "UMC" . substr($default{"name"},0,4); $default{"arch"} = `uname -m`; chomp $default{"arch"}; $default{"category"} = "application"; $default{"vendor"} = "GNU"; $default{"email"} = "info@\gnu.org"; $login = getlogin(); ($user, $passwd, $uid, $gid, $quota, $default{"pstamp"}, $userInfo, $userHome, $loginShell) = getpwnam ($login); $default{"pstamp"} = "Jasper Aukes" if ($default{"pstamp"} eq ""); $os = `uname -r`; $os =~ '\.'; $os = "sol$'"; chomp $os; $default{"basedir"} = "/usr/local"; # Check for correctness of guessed values by userinput %questions = ( pkg => "Please give the name for this package", name => "Now enter the real name for this package", arch => "What architecture did you build the package on?", version => "Enter the version number of the package", category => "What category does this package belong to?", vendor => "Who is the vendor of this package?", email => "Enter the email adress for contact", pstamp => "Enter your own name", basedir => "What is the basedir this package will install into?", packagename => "How should i call the packagefile?", ); @vars = qw(pkg name arch version category vendor email pstamp basedir packagename); foreach $varname (@vars) { $default{"$varname"} = "$name-$version-$os-$arch-local" if ($varname eq "packagename"); getvar($varname); } $classes = "none"; # Create the pkginfo file print "\nNow creating $pkginfo file\n"; open (PKGINFO,">$pkginfo") || die "Unable to open $pkginfo for writing ($!)\n"; print PKGINFO "PKG=\"$pkg\"\n"; print PKGINFO "NAME=\"$name\"\n"; print PKGINFO "ARCH=\"$arch\"\n"; print PKGINFO "VERSION=\"$version\"\n"; print PKGINFO "CATEGORY=\"$category\"\n"; print PKGINFO "VENDOR=\"$vendor\"\n"; print PKGINFO "EMAIL=\"$email\"\n"; print PKGINFO "PSTAMP=\"$pstamp\"\n"; print PKGINFO "BASEDIR=\"$basedir\"\n"; print PKGINFO "CLASSES=\"$classes\"\n"; close PKGINFO; print "Done.\n"; # Build and zip the package print "Building package\n"; system ("$pkgmk -r `pwd`"); system ("(cd /var/spool/pkg;$pkgtrans -s `pwd` /tmp/$packagename)"); system ("gzip /tmp/$packagename"); print "Done. (/tmp/$packagename.gz)\n"; # The subroutines sub getvar { my $questionname = "@_"; print "$questions{$questionname} [$default{\"$questionname\"}]: "; my $answer = ; chomp $answer; $$questionname = $answer; $$questionname = $default{$questionname} if ($$questionname eq ""); } 0707010001dbc2000081ed0000000200000002000000013d4537990000281e000000200000000000000000000000000000000e00000000reloc/missing#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.4 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. You can get \`$1Help2man' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 0707010001dbc3000081ed0000000200000002000000013d45379900000709000000200000000000000000000000000000001400000000reloc/mkinstalldirs#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case "${1}" in -h | --help | --h* ) # -h for help echo "${usage}" 1>&2; exit 0 ;; -m ) # -m PERM arg shift test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } dirmode="${1}" shift ;; -- ) shift; break ;; # stop option processing -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option * ) break ;; # first non-opt arg esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 3 # End: # mkinstalldirs ends here 0707010001dbc4000041ed0000000000000001000000024175dc3800000000000000200000000000000000000000000000000e00000000reloc/pixmaps0707010001dbc5000081a40000000200000002000000013e258b2200001ecf000000200000000000000000000000000000001b00000000reloc/pixmaps/gproftpd.pngPNG  IHDR@=obKGD pHYs  ~tIME%h\IDATxieYu|jnzl1m yEc[bɑlEb'?Dq1!C37K{[EFzqS  B=KKcg _dgYQF ^`B b|c<~yC_>|߯o0*i&p]I`<(b D!p\*~\,&m{Eʥ1Q{ҔǓ$xgeO`?9>>~~twS.L;TkZ *6K`#$SLN0L0-8ĩFJ98Ky/NǢ(O)ؾ{,!wU=XW8aoRLUF  x Q׎2\@iض00TrMc~{Ko U {bP?w|wrOs|8{e&T I5cb4a`{&I%TaSHr-( ЊzEQ(+~8(6l]|]ou=|׌V)_&^* bԡd$4YR1LIhaH CJF XtYs۶p\xI+17z~mi e[waa~.p.'B<ק?4#28YiJ, q #Eh%VKK>RBV-#HRHjcuf Q-ϳi`h:70{X& e /8U87u9SkUek'%2%iqRq ky9pW;xeI)%a.B-J#k^$|]ww=[h1xKQM~xgG,??76iJ| 4ݞT4A P4U!L+e $Jk(9Ji|L\mqV3`3}{[8z()X?< " E!6}+,QskLWȕzHl縎d0 EdaN/Ŷ^EyecZ si@f(4ΑҒ),{0@KL׀| 7F?w'ɲeu?n˜X`qڽU#c ;i0ւ 2E5df0TLT!Lp,ۖiG# IF$irp@L̘I2erG5G.sQR ̯_4 E%mZ)؅:*OvwU+"KA: R_iI+%qE)<\Wfog3 cQs8˸Rcg-'-Ewm'zsjhFig*`lv6H*R(ZĒ]fnL}"\xI&6dp'Lt$(l̞Kly61-ytY[[cu},KJM0HZzY`+'l;o.}5ċ/_kG!2_~d@KkؚM G挛>ʧoagqve}(י;tAz.էϰ>l0'o')A1 CI|0L)I lK ZWlP,9r0YhvZ?CؿJm[Mb\r1t$E(/krݝ@~ Xn znccRq-V`mH;C' 4 EvƾĶLLf8sdʴyW?un| fNf$Na_bi[2?[GJݽe6V/V >G'(S,ض4L10viu"K?-I?ԇ*2o4%qrwZ;R273>I%dY9J+9ۏNk^hLŬϑkg(P.;X0s3=MK]e7bĽ7Ûos>j !$|H#ַ3^8s\`٧^qdT/k2\k5EQǒ8#S+ibKnqy/f(:<ܝmLZ81@Fu5[JI1PQL;`|NɥvVBQ1f? lKDY\4}#~HJ[L0q =/gxf_Ip3STHr}6V?B#sxҐ/"\N_ʋ.4nd/=A&=7'ai 7F896{P*' :;R H.W|ʍGVaxG{?L*T8~?6[SО9+W\c߾N3~DiQOh4SA7\ytS)x}n;g=L'=Jf 7Q$IUk>84G´l_}5Y0l5Xk%J Uj5rS yʙХoﱏpSk&_Į0ަZG!B(&, VR#a04;&,J&+T)֚ghDpFY &gi N50(PE2TgjW+VXy14?b}Kc{0 (v ǚa>q+>&sh @V[^c:>CֆG O; _x5ee`iέ8mrI͓<\h,N@A ,ˑf.T߬ ֦.$9h!YdyΠ!%`"FyS"xkBK}%"0ayy0Øvͅ K,74)5lރ$o[<ɇ?agdν`N@8 =0'A5Yfqߦhvնk+S)o{VėauCS(Ұw2)a$5"~¾ * L^`0 #I"'.qe};ƼqfL&+ ?|'d'1RTuL@-j 3+^e_MJz{3Ő,tؐ?1`+BLMMm7=Lv$!s.Q' =~@١QТ zTsp8dccXf{!GXZn҅]*EZ*~}x>~u:=͟-o yff\yl9 y8q@'UoN=ͥFET=4o-ji<m7( S8BX6RHBc1a0mT~L[كvk1!b1, 'H qMe y@V=\%IØE:\S~.iҠG6I q0D/SLQLb;J<' #9+(UGETCj,A_N ȟy\o {4sG+,7!.p){d*MP LJ+c 5m zJ{]v0Lab$CZ Gq Y=VضM Zؠzoⴃ@*ӭ!m!yڣфS<~:A cV;͑A{ģ09w(s)b\xrS6Wc%hmAh\:mRmS*֐! (CjEt`̥{Y&͞D0Q:o%"3>UZX囑 +!y4Oj8r*)Y|wFFۄzQH/*!u/OLjgi7uyzJɲCGhL\]0ULC^tmi#D較=Ʊ}\d hidXٳ \L*ռ=G_֌u p4&NF>Cyb4 t/_Y:ϳ(s*e!y-qlILL.%,2!\ƶyOXqw!( ?&N‹g뭓,|+'e)omvl~vioa"a/$D&RhT&樌қ?3lnu~Jᰛ5Zu0L8 qMe PLYLTmN\hLyxEw8p 4F>G/?ЃǦ(/ΞڂH<Ϩ?p ڐRJ˲x񌢝If[-:KD6WįSg@ [ۨ,f Zk+"Neu{$q![j 4R r$dq֤ W@ҟ{4W<.__>Goy+o{T%|fo%B)CBpqVXYN4{T ˚9 sXRy̓PQ;Bej4MؠYG:a,A( cT01 je-$3?os1j237n<@_s(G^SJtOVMPiT/d%,g4~ ڣX_.XXXХRisg{뷓h8ۘmJò5$yLGqBJP3sT'. mV7bdP)4!pA|cjtфoo/h2sۻyA2(\:zǶ菾J|3BQ7e^ADMPS !4MI<lo\^GnǫP(S(U+Ҙ=H6V$"mXFY$s, ,S$0TTW?bc}E6YmrΝyGeأҧZciF)Q#ᇀ3S>f 4M>gt3hLަfP@`w/-mtO/~x nΤ!P}V  ya'a@{{JF3x~W}s~h{<'NCҬ+46U n!ܺ(FΫ__6.n|BKYmaZUc;J鏵/kw<(%J/恕=_?Tt)\JِBR>~-]*~]=.G|drLiqx0xu60:RMul\uS^7G[1 0^ۚav`8J Rk8LIENDB`0707010001dbc6000081a40000000200000002000000013e258b220000032d000000200000000000000000000000000000001d00000000reloc/pixmaps/gproftpd16.pngPNG  IHDRsO/ pHYs  d_tIME0-BIDATxڍoSetNOGiK׮]eX3p 7{h^I0Y $M[dt?Lh{hwyy^ܾy)KqZ;EB<-/;62G ڝC~^\`u.-еwB믮CFQLszhdy1a|}H cl|re)%]уy2t ]Ǯ|#G)r0J~Zk~*ޗC7P@ lx?N(dIhҴ~#T۵gNmnm8, _&b(j q2ۖ6%1IGn12108}l7+)NQo_C+;Ҍ 'I$HZ~^ʇ}>._1b&Z ꟨cY`PLRߡfLq :~ڗs`*!Jc Bt[{c7˽ 8ߟ)>}tMв\,7NdI_K0딦LWZE"y7b #B0Vo;9fK&?-Qگs39 i}Z^/Gz` Pݾ tZi r_$IENDB`0707010001dbc7000081a40000000200000002000000013e258b2200000a2c000000200000000000000000000000000000001d00000000reloc/pixmaps/gproftpd32.pngPNG  IHDR Vό pHYs  #utIME2 w IDATxڭYd}.uo][/4L7xVaala)Jxd˖XyH %CDQ£%'QMJ!A`:ͳQtO/[UWխ{"D|oG>u}&tR@  $ρ}Dё; {KW{t5OgH$ jc=gxtdhPBܼzI..\kW[[ֿa 8@iJuۇ~{8p@ͤS"*\U7Ig ٯ*Q E"` H3'N<Ķeݬ06Z؛$IIJ:eBgRR$<kJk#Z/̾.R#SETH"`c{L10XFRYT0 <㧞|f%M%AǸD$eض$1qo}eϛ\ajOAt0\871511_x|Xm-$A7i-_}+QDlńB+Q ʥ C*#J& 繖qwè  |o|^9鑽DSқ5j͖G\id2:=9|jD>|DRD_G;qKѦH'\릙L%Rmqk4XЖnJѓ3Ȥ Ccee A62TA^"_]݀kwzuUoq ܣj_#DBl`X-!NU]۵d:zyVV7H)k;Zv=\jpZ7i{EN}?g8Hu8*FD^ڴZRQhu4 pbzb,/-ҵ%F:fo bUGY^|_~CBB{J=p[s*'E~^cD7Y'8 Kh`cNs܊Ƃ8s=3w9zPefsUB('w L;\+MvG5545qCD#ncQ,`u6B:/H*$2q&ݨ \gq-_:B^>'cS'А7#j @4۷#ږNtXۘm){#v# ;dK|e'F |  |sꁈ\V#bV7cZ]B*l{v'NmMU'ply]l{+BUǂp{7 q|6չ2_="?,N\ӡs68(<|&"l1=|+wo쉥hngS6w<8 K;Eel\*g0Eأ/SРH¡I8;\2x,3{dF~–"8J?(?>jnHJjIojeэTR Ʊ[BHElZA,c~/r7I\% yqꙩsׁDfc|nvJ(h``d|q~_9Tt,cuR&-f+rT~fCɅW_WݸJsmaQEQbbRʳ+Qjk)}6-%g8nVM;, nG# }\~/3s V)I%(Xd7rY]/_AЌr& Kn>o23("`yš4vՀDo|w3UEbi۶}TLRJq>'D2^UUo)l`nѺ1 c #606184", ", c #414053", "' c #202027", ") c #0C0C0E", "! c #575A67", "~ c #B1B5C9", "{ c #D9DDEE", "] c #CCD2E9", "^ c #ABB7DB", "/ c #AEBADA", "( c #A9B3D4", "_ c #8992BC", ": c #7378A0", "< c #666683", "[ c #424154", "} c #1A1A24", "| c #0A0B0C", "1 c #595E75", "2 c #878FD3", "3 c #A9AFE8", "4 c #DADDF3", "5 c #DFE3F2", "6 c #C8CEE8", "7 c #CED4EA", "8 c #C2CAE3", "9 c #B6C0DC", "0 c #A6B0CF", "a c #8B92B4", "b c #65688E", "c c #51506D", "d c #39384C", "e c #1F1F27", "f c #070707", "g c #4A4F5C", "h c #756475", "i c #7F585F", "j c #9A92AA", "k c #E3E4F2", "l c #E9EBF8", "m c #E4E7F5", "n c #DADEF0", "o c #CAD1E9", "p c #AEB8DD", "q c #A2B0D7", "r c #8F9ECB", "s c #7886B6", "t c #737A9D", "u c #545777", "v c #57566D", "w c #4A4A56", "x c #202024", "y c #050505", "z c #4B4D50", "A c #8B848E", "B c #965B44", "C c #914D2D", "D c #8D563F", "E c #C6BEC2", "F c #DBDDF1", "G c #DADDF4", "H c #DCDFF4", "I c #D9DCF1", "J c #CBD0EA", "K c #A8B3DD", "L c #96A4D3", "M c #98A7D2", "N c #B4BDD7", "O c #939AB4", "P c #7B7F93", "Q c #72737E", "R c #616168", "S c #424247", "T c #191A1C", "U c #7B7D87", "V c #AE9D9E", "W c #C58565", "X c #A27B6B", "Y c #8F7A73", "Z c #9D8F8E", "` c #A69292", " . c #BFBDD4", ".. c #C1C6EE", "+. c #CED2F2", "@. c #CDD1F0", "#. c #ACB5E5", "$. c #9BA6DB", "%. c #A5B1DC", "&. c #C7CEE6", "*. c #B7C0DB", "=. c #B6BCCC", "-. c #A3A5AD", ";. c #86878B", ">. c #6C6C72", ",. c #515157", "'. c #29292F", "). c #121215", "!. c #161717", "~. c #989AA1", "{. c #ADA7AD", "]. c #B87D61", "^. c #B58D7C", "/. c #A98474", "(. c #976853", "_. c #AB4E22", ":. c #9D8487", "<. c #BBBEDA", "[. c #B8BEE9", "}. c #ADB4E9", "|. c #AFB5E9", "1. c #969FE0", "2. c #A3ACDF", "3. c #B3BBE0", "4. c #CDD3E7", "5. c #DDE0ED", "6. c #D7D9E0", "7. c #B6B7BD", "8. c #8C8E94", "9. c #6D6D72", "0. c #4A4A52", "a. c #2E2E37", "b. c #131317", "c. c #060707", "d. c #191A1A", "e. c #838488", "f. c #947C75", "g. c #AE5D36", "h. c #BCB3BB", "i. c #C1C3D1", "j. c #AF9D9A", "k. c #B66F4E", "l. c #955A42", "m. c #927D81", "n. c #989DBD", "o. c #959ED5", "p. c #949CDC", "q. c #959CDF", "r. c #A8AEE5", "s. c #BDC3E7", "t. c #CDD1E9", "u. c #E2E4F1", "v. c #EAEDF4", "w. c #E5E7EC", "x. c #B8BAC0", "y. c #7B7E85", "z. c #595B64", "A. c #4F525D", "B. c #393B47", "C. c #2F2E2F", "D. c #342D0F", "E. c #544615", "F. c #51410D", "G. c #111213", "H. c #575961", "I. c #71544A", "J. c #9D5635", "K. c #C6C3CF", "L. c #BFC4DE", "M. c #A78781", "N. c #BF9383", "O. c #B1ADBA", "P. c #9D97A2", "Q. c #8B5948", "R. c #867682", "S. c #7C7EA5", "T. c #7D87C6", "U. c #979FD9", "V. c #BDC2E9", "W. c #D0D3EF", "X. c #E0E2F3", "Y. c #E7E8F1", "Z. c #CDCED2", "`. c #9A9CA0", " + c #8B8E94", ".+ c #858990", "++ c #787977", "@+ c #746D52", "#+ c #9D8C4C", "$+ c #D0BA65", "%+ c #E6CA61", "&+ c #CFAF39", "*+ c #816A17", "=+ c #2C2305", "-+ c #060607", ";+ c #292A35", ">+ c #4E4A5D", ",+ c #887B81", "'+ c #BFC3D4", ")+ c #B3B7CC", "!+ c #905C4B", "~+ c #AC7F71", "{+ c #C8CADE", "]+ c #BDB9C3", "^+ c #BD7A5C", "/+ c #9D5F45", "(+ c #894C34", "_+ c #85686F", ":+ c #9298C2", "<+ c #B3B8DD", "[+ c #D1D5EE", "}+ c #CED0E6", "|+ c #A9AAB0", "1+ c #95938D", "2+ c #99958B", "3+ c #89836C", "4+ c #8C7F4D", "5+ c #B39D4C", "6+ c #DCC25C", "7+ c #F6D96B", "8+ c #FCE177", "9+ c #F7DD76", "0+ c #D5BB55", "a+ c #8C751B", "b+ c #4B3C07", "c+ c #1D1703", "d+ c #07070C", "e+ c #23223B", "f+ c #5C5C81", "g+ c #9397B8", "h+ c #A2A8C3", "i+ c #82635F", "j+ c #974E2F", "k+ c #9A878F", "l+ c #9F959E", "m+ c #BC876F", "n+ c #ADA3A9", "o+ c #9C949D", "p+ c #8E5B47", "q+ c #907C81", "r+ c #B8BFD7", "s+ c #C7CBDD", "t+ c #8B8E96", "u+ c #726F63", "v+ c #84754A", "w+ c #93782C", "x+ c #B99422", "y+ c #E5BE3B", "z+ c #F9D359", "A+ c #FED963", "B+ c #FAD658", "C+ c #E1C148", "D+ c #AF993E", "E+ c #897724", "F+ c #766213", "G+ c #594C18", "H+ c #1C180A", "I+ c #000101", "J+ c #04070A", "K+ c #0A0C13", "L+ c #26243A", "M+ c #55527A", "N+ c #7879A3", "O+ c #7B7E9C", "P+ c #6C4E4C", "Q+ c #78554E", "R+ c #7B5C57", "S+ c #B16542", "T+ c #ADA4AF", "U+ c #BBC0D6", "V+ c #9E807A", "W+ c #A1786A", "X+ c #B9BECE", "Y+ c #8D9097", "Z+ c #42413B", "`+ c #413616", " @ c #89660E", ".@ c #D4960B", "+@ c #F8B612", "@@ c #FFC125", "#@ c #FDC233", "$@ c #EEB731", "%@ c #B59122", "&@ c #735E0F", "*@ c #77620F", "=@ c #816C1A", "-@ c #443F32", ";@ c #112162", ">@ c #040C2D", ",@ c #010101", "'@ c #0D141B", ")@ c #111B24", "!@ c #0D151D", "~@ c #0C121A", "{@ c #21212F", "]@ c #44415F", "^@ c #56527B", "/@ c #61628F", "(@ c #6F7698", "_@ c #845242", ":@ c #9E4115", "<@ c #9C5C42", "[@ c #A28A8A", "}@ c #B58876", "|@ c #B5968D", "1@ c #A0A3AD", "2@ c #7E8187", "3@ c #564F34", "4@ c #5A4709", "5@ c #614604", "6@ c #A56F06", "7@ c #E59A09", "8@ c #EA9F08", "9@ c #BE8408", "0@ c #765305", "a@ c #6F5507", "b@ c #957912", "c@ c #615524", "d@ c #152050", "e@ c #011A88", "f@ c #0020B1", "g@ c #031352", "h@ c #060606", "i@ c #020304", "j@ c #141C22", "k@ c #080805", "l@ c #010102", "m@ c #091017", "n@ c #141620", "o@ c #27243B", "p@ c #383263", "q@ c #484479", "r@ c #62444F", "s@ c #72504D", "t@ c #7A6B71", "u@ c #89523D", "v@ c #956557", "w@ c #908790", "x@ c #767985", "y@ c #6E7280", "z@ c #302E2B", "A@ c #3B310E", "B@ c #67500B", "C@ c #6B4E06", "D@ c #795505", "E@ c #7E5804", "F@ c #785705", "G@ c #9F780C", "H@ c #78611B", "I@ c #222953", "J@ c #041C90", "K@ c #001994", "L@ c #001EAD", "M@ c #001EA7", "N@ c #0F1C4F", "O@ c #1D180A", "P@ c #050501", "Q@ c #453B11", "R@ c #716222", "S@ c #191603", "T@ c #0C0C0C", "U@ c #080C11", "V@ c #0A111A", "W@ c #090B15", "X@ c #1F1C36", "Y@ c #35315A", "Z@ c #3F3B5F", "`@ c #494569", " # c #5C6083", ".# c #626681", "+# c #666D88", "@# c #5E6474", "## c #50545F", "$# c #4F5362", "%# c #141A34", "&# c #05114A", "*# c #181B32", "=# c #51400D", "-# c #7A600B", ";# c #A8840F", "># c #947415", ",# c #3F3830", "'# c #091B77", ")# c #001EB0", "!# c #001EB4", "~# c #001FB4", "{# c #011FAF", "]# c #2A3365", "^# c #987D23", "/# c #735C0C", "(# c #1C1701", "_# c #AB8B2B", ":# c #DDBC4E", "<# c #524715", "[# c #080806", "}# c #020303", "|# c #030507", "1# c #070B10", "2# c #050508", "3# c #12121E", "4# c #222136", "5# c #302D48", "6# c #383454", "7# c #363556", "8# c #414664", "9# c #424855", "0# c #474A56", "a# c #454955", "b# c #0F1840", "c# c #00188F", "d# c #001DA6", "e# c #05114D", "f# c #5C4A10", "g# c #B18D13", "h# c #393946", "i# c #00157C", "j# c #001FB6", "k# c #0024D4", "l# c #001B9E", "m# c #081F91", "n# c #3F3F4C", "o# c #BD981D", "p# c #F4C217", "q# c #A27F0E", "r# c #211801", "s# c #C49014", "t# c #F0BC27", "u# c #62500D", "v# c #030200", "w# c #090701", "x# c #060501", "y# c #070B0F", "z# c #06080A", "A# c #050506", "B# c #060609", "C# c #1B1A26", "D# c #312F45", "E# c #2C2945", "F# c #292747", "G# c #343649", "H# c #3A3D4E", "I# c #3B3E4B", "J# c #0C163C", "K# c #001888", "L# c #021679", "M# c #594A1C", "N# c #A68411", "O# c #2F3251", "P# c #001890", "Q# c #0023CF", "R# c #0120B8", "S# c #142061", "T# c #7F6A27", "U# c #E5B717", "V# c #FAC718", "W# c #F6C316", "X# c #9B780C", "Y# c #0E0900", "Z# c #A67202", "`# c #F1AC03", " $ c #513D02", ".$ c #1A1602", "+$ c #7F6E1D", "@$ c #695C1D", "#$ c #13160E", "$$ c #0A1119", "%$ c #030406", "&$ c #000000", "*$ c #0F0F17", "=$ c #29283D", "-$ c #302E48", ";$ c #2F2E45", ">$ c #2D2A42", ",$ c #2D2B38", "'$ c #262218", ")$ c #14182F", "!$ c #021670", "~$ c #001571", "{$ c #443B24", "]$ c #B59012", "^$ c #4C4643", "/$ c #001CA5", "($ c #0322BE", "_$ c #4A464F", ":$ c #BB971A", "<$ c #F9C71B", "[$ c #FDCE27", "}$ c #FDD021", "|$ c #E7BB18", "1$ c #755D0A", "2$ c #010100", "3$ c #342400", "4$ c #845B00", "5$ c #140E00", "6$ c #473B08", "7$ c #DBBD40", "8$ c #CDB446", "9$ c #383511", "0$ c #172837", "a$ c #111F2D", "b$ c #05090E", "c$ c #000001", "d$ c #050507", "e$ c #121218", "f$ c #23222E", "g$ c #282536", "h$ c #242022", "i$ c #4E3D0F", "j$ c #5D480E", "k$ c #352C14", "l$ c #080D29", "m$ c #2E2922", "n$ c #B69113", "o$ c #6A5B30", "p$ c #0B1C71", "q$ c #72622F", "r$ c #ECBC19", "s$ c #FDCB1E", "t$ c #FED747", "u$ c #FCE062", "v$ c #D6B93A", "w$ c #7D702A", "x$ c #27281A", "y$ c #050300", "z$ c #443504", "A$ c #E4B624", "B$ c #E1B929", "C$ c #3F3508", "D$ c #111D29", "E$ c #253B53", "F$ c #243C52", "G$ c #111C26", "H$ c #0D0C10", "I$ c #272530", "J$ c #221E1D", "K$ c #4C3A0A", "L$ c #78590A", "M$ c #795B0B", "N$ c #53420A", "O$ c #483A0C", "P$ c #907414", "Q$ c #8E7419", "R$ c #F0BF18", "S$ c #FECD23", "T$ c #FFD948", "U$ c #F8DD68", "V$ c #C6B665", "W$ c #B4AF8F", "X$ c #B6B9B6", "Y$ c #6D747C", "Z$ c #020201", "`$ c #231901", " % c #C79306", ".% c #D09D06", "+% c #261C01", "@% c #07080B", "#% c #263D53", "$% c #365572", "%% c #273F54", "&% c #090E14", "*% c #010202", "=% c #0F0E11", "-% c #141211", ";% c #2C2004", ">% c #604506", ",% c #7E5A07", "'% c #7E600B", ")% c #866C0F", "!% c #BA9512", "~% c #D9AD14", "{% c #EDBC16", "]% c #FCCB1B", "^% c #FCD73E", "/% c #E3CA58", "(% c #8D8348", "_% c #6F7571", ":% c #E3E5E6", "<% c #FAFBFB", "[% c #B6BBBF", "}% c #040300", "|% c #483400", "1% c #533D00", "2% c #1F1F1E", "3% c #262727", "4% c #04080B", "5% c #192836", "6% c #3C6080", "7% c #365775", "8% c #182737", "9% c #04070C", "0% c #03060A", "a% c #0C141C", "b% c #1A2323", "c% c #25210C", "d% c #4D3804", "e% c #795C0B", "f% c #896E0F", "g% c #B38F12", "h% c #E7B716", "i% c #F5BF15", "j% c #ECBE18", "k% c #AF931D", "l% c #484728", "m% c #334D63", "n% c #597690", "o% c #C9D1D8", "p% c #E0E1E2", "q% c #7C8B9D", "r% c #010000", "s% c #030302", "t% c #2C2B2B", "u% c #253D55", "v% c #365372", "w% c #2C4059", "x% c #23364B", "y% c #172636", "z% c #0F181F", "A% c #182426", "B% c #25312D", "C% c #3F3613", "D% c #725C0D", "E% c #9C7C10", "F% c #AE8710", "G% c #D6A713", "H% c #7F6917", "I% c #313B39", "J% c #3E6182", "K% c #48739A", "L% c #3A5A78", "M% c #38434F", "N% c #47494C", "O% c #020202", "P% c #161616", "Q% c #101A26", "R% c #243448", "S% c #203144", "T% c #030609", "U% c #040301", "V% c #050706", "W% c #1B2C39", "X% c #2D4253", "Y% c #333119", "Z% c #68530B", "`% c #4E3E0C", " & c #72693E", ".& c #8F9792", "+& c #708699", "@& c #4A6D8D", "#& c #0F171F", "$& c #222223", "%& c #050A10", "&& c #070B11", "*& c #171303", "=& c #5C511E", "-& c #494119", ";& c #121615", ">& c #344C68", ",& c #304559", "'& c #141919", ")& c #333738", "!& c #BDC2C2", "~& c #F5F7F7", "{& c #CBD1D7", "]& c #495868", "^& c #090E13", "/& c #2D2D2D", "(& c #4A400E", "_& c #C5AE4B", ":& c #AF9E4B", "<& c #312C0D", "[& c #233344", "}& c #39516A", "|& c #152334", "1& c #4E5863", "2& c #E8EAED", "3& c #F9FCFC", "4& c #BCBFD2", "5& c #252639", "6& c #020000", "7& c #57460E", "8& c #DCBB37", "9& c #CCB03A", "0& c #40350C", "a& c #121B26", "b& c #2A3C52", "c& c #121E2C", "d& c #36404F", "e& c #AAB1BA", "f& c #8FB8BA", "g& c #372901", "h& c #D6A108", "i& c #CF9C08", "j& c #302402", "k& c #090B0D", "l& c #10171D", "m& c #05080D", "n& c #0D121A", "o& c #1F2732", "p& c #0B0800", "q& c #805901", "r& c #8B6001", "s& c #110C00", "t& c #181713", "u& c #272725", "v& c #0A0700", "w& c #0D0900", "x& c #030201", "y& c #2C2A22", "z& c #3F3D39", "A& c #0E0D0B", "B& c #3D3B34", " ", " . + @ # $ ", " % & * = - ; > , ' ) ", " ! ~ { ] ^ / ( _ : < [ } | ", " 1 2 3 4 5 6 7 8 9 0 a b c d e f ", " g h i j k l m n o p q r s t u v w x y ", " z A B C D E F G H I J K L M N O P Q R S T ", " U V W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.,.'.). ", " !.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c. ", " d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F. ", " G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+ ", " -+;+>+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+ ", " d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+ ", " I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@ ", " ,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@ ", " i@j@k@l@m@!@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@ ", " P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]#^#/# ", " (#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q# ", " r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#K#L@L#M#N#O#P#Q#R#S#T#U#V#W#X# ", " Y#Z#`# $.$+$@$#$$$%$&$l@*$=$-$;$>$,$'$)$!$~${$]$^$/$($_$:$<$[$}$|$1$ ", " 2$3$4$5$6$7$8$9$0$a$b$c$&$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$ ", " 2$y$&$z$A$B$C$D$E$F$G$i@&$,@H$I$J$K$L$M$N$O$]$P$Q$R$S$T$U$V$W$X$Y$ ", " &$&$Z$`$ %.%+%@%G$#%$%%%&%*%,@=%-%;%>%,%'%)%!%~%{%]%^%/%(%_%:%<%[% ", " }%|%1%}%2%3%4%5%6%7%8%9%0%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q% ", " &$r%r%s%t% I+&%u%v%w%x%y%z%A%B%C%D%E%F%G%H%I%J%K%L%M%N% ", " &$O%P% 0%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&@&$%#&i@$& ", " %&&&*&=&-&;&>&,&'&)&!&~&{&]&^&&$f /& ", " &$(&_&:&<&[&}&|&1&2&3&4&5& ", " 6&7&8&9&0&a&b&c&d&e&f& ", " &$g&h&i&j&k&l&m&n&o& ", " p&q&r&s&t&u&h@l@ ", " &$v&w&x&y&z& ", " &$,@A&B& ", " "}; 0707010001dbc9000081a40000000200000002000000013e258b2200001359000000200000000000000000000000000000001d00000000reloc/pixmaps/gproftpd48.pngPNG  IHDR0.nޚl pHYs  d_tIME1+|:IDATx͚Ydyukgg23wi9!-!6ı$yp$ oى!`"pFEZΐֳ6U^u䁣&|s|{RBsM5nYR nEgK@H( !~q/M~ddlzuq+Ct;ZZZl;W(<@4@0SO=hi⚒YY`cm,\˾}-WRo=I?ed^z?_8|d*Ab96A8r#LMΊ|TVJ=%l*LeD} ? t;/="p3:$ @hhImnZ8&Y,2|0H<GR^mYo>z߭(9%}ڨC.k`:ŜEr9ؙ,PCi&|.Scl0I$͏d<{Ͼ>#^Y=n,35=hcQJKH  P0m a㓢RhHD0H60=/{W/^*;Wҧ: #N@4]KX۱V,̏c:BؖFRBa*MdžC)e  `bbɧy_?uv^_GnmA$$A C'!x"33Y`jL\fRTrm q3.j-qs8|UQJu` ̳GlRhXnhy hC A)+Pa:(Ld@8#luP3>9[KN_[J yWƏH`Gq}um SķعzS1Njvp{v/}Q ;fBt).?͍ShQ_ݓȡ 혓}N]),; ]:B+'gL9E4m+O |u1q!rl!6pvn?ƈB*[[ {occ J<,fzr{=Q3J,3d]{7Rv<302"?8Fo?%0=&C8e.fi,/z]\;[wy,6L;/LÈ|$cq#6 6/MXp1aYT\XI &F q, 2,a6% d,@*zfNa/GFX,ekvu};K\fib)s:Pq.Yܜ:8 qysXhYs<8'qm-Y5ϡDFcۄ>i#Ơ$>&H@jxA] I gcf@;9JNјǏ8U{?/Ϣ"h&^_%>{47Vcwҷ ۭk7sřsg2 L7Z:dbNTK%,'M EB'(r&ԲR4N-gρ Au^8x*OH-jd,XNPlSu@uq%d6:rF$À ۸yLV 4M? F2G K<_ٴe0Aؐla7[K¯=1[SX $i*cPxJm%0:F`09f`;1RЭ "i@@P0 d*5AD" 22ZDP*R6S΅h"m"Y'#O˿͓0 $AJR"hI;Jާۄ ]:/ uEd {a%ᰧ60 P)Oꎝ#$I" V|u~^pMk;:׊dMu[&wϵ1L4Q !պ4S<*e]Uxh8zhqx#'1i"P(%^ym-N< G>Qe$B0'1DZ}!e7.L0m;o[y*:Zfx(^9~*OpVx)EP;3 ]F"Qۇآ~_4NE]3}^G5h"]b-KibwfٹsAsPB)z;Hy50J[Wd >MKu|?:G79c6d!?v9{i=Zȝ %$n76YxO5MDt!GDoyt7 QCma8"tQi+%0 (HHx$oK,SP(MhLV5י0m)֛:+ى!{Oj|΍,-^GQO5!^>~+NeCߔXHjml\mrL茘 \#c@i"$Q5av7#lȻ1jI%I<[77u+cŞ L]ꭕ.>/ bw8-Sɓ+یw q{b T*:J Y6K թt-;2FgprE 70i i(4l ,S`W%_;otP LnsV}7O|_ml]PNR8۶}˶?|K٠߶([J#5QcgZ[t6hN@7lpF=V=nTb.?{˅Ѩo.y`" (Y՘\,TJ_> VQxxonfde4м^Sԗ/#!7@eJsGhuVpZĥU!&Ϣ9EϠYt^s Mܝ yBw5]aTz\*}E)wl^\Cc:#{m#glS)¥kMnIx^"Eμ˵SQsDA6e2}|)4UF([I0 |vQ{:xmMvrt]~ܹ_%l}Vmj6sHFW$G$tz(,+os;:NR$I_[[cmm}їmwB֠%ސ$7oc89&2[oߺqu/_+j}sq;?M`em[W<:ـI*6 z#.wUyO k_y[Y]+۠ic8NXׂ 04y `>M \=#K0 (s8Ng? ܽ yfڧC7H}aVnUq.ݳc|q#9^.FǭVt( b4XR)7Agkk'x_kOjc=IENDB`0707010001dbca000081a40000000200000002000000013e258b2200001ecf000000200000000000000000000000000000001d00000000reloc/pixmaps/gproftpd64.pngPNG  IHDR@=obKGD pHYs  ~tIME%h\IDATxieYu|jnzl1m yEc[bɑlEb'?Dq1!C37K{[EFzqS  B=KKcg _dgYQF ^`B b|c<~yC_>|߯o0*i&p]I`<(b D!p\*~\,&m{Eʥ1Q{ҔǓ$xgeO`?9>>~~twS.L;TkZ *6K`#$SLN0L0-8ĩFJ98Ky/NǢ(O)ؾ{,!wU=XW8aoRLUF  x Q׎2\@iض00TrMc~{Ko U {bP?w|wrOs|8{e&T I5cb4a`{&I%TaSHr-( ЊzEQ(+~8(6l]|]ou=|׌V)_&^* bԡd$4YR1LIhaH CJF XtYs۶p\xI+17z~mi e[waa~.p.'B<ק?4#28YiJ, q #Eh%VKK>RBV-#HRHjcuf Q-ϳi`h:70{X& e /8U87u9SkUek'%2%iqRq ky9pW;xeI)%a.B-J#k^$|]ww=[h1xKQM~xgG,??76iJ| 4ݞT4A P4U!L+e $Jk(9Ji|L\mqV3`3}{[8z()X?< " E!6}+,QskLWȕzHl縎d0 EdaN/Ŷ^EyecZ si@f(4ΑҒ),{0@KL׀| 7F?w'ɲeu?n˜X`qڽU#c ;i0ւ 2E5df0TLT!Lp,ۖiG# IF$irp@L̘I2erG5G.sQR ̯_4 E%mZ)؅:*OvwU+"KA: R_iI+%qE)<\Wfog3 cQs8˸Rcg-'-Ewm'zsjhFig*`lv6H*R(ZĒ]fnL}"\xI&6dp'Lt$(l̞Kly61-ytY[[cu},KJM0HZzY`+'l;o.}5ċ/_kG!2_~d@KkؚM G挛>ʧoagqve}(י;tAz.էϰ>l0'o')A1 CI|0L)I lK ZWlP,9r0YhvZ?CؿJm[Mb\r1t$E(/krݝ@~ Xn znccRq-V`mH;C' 4 EvƾĶLLf8sdʴyW?un| fNf$Na_bi[2?[GJݽe6V/V >G'(S,ض4L10viu"K?-I?ԇ*2o4%qrwZ;R273>I%dY9J+9ۏNk^hLŬϑkg(P.;X0s3=MK]e7bĽ7Ûos>j !$|H#ַ3^8s\`٧^qdT/k2\k5EQǒ8#S+ibKnqy/f(:<ܝmLZ81@Fu5[JI1PQL;`|NɥvVBQ1f? lKDY\4}#~HJ[L0q =/gxf_Ip3STHr}6V?B#sxҐ/"\N_ʋ.4nd/=A&=7'ai 7F896{P*' :;R H.W|ʍGVaxG{?L*T8~?6[SО9+W\c߾N3~DiQOh4SA7\ytS)x}n;g=L'=Jf 7Q$IUk>84G´l_}5Y0l5Xk%J Uj5rS yʙХoﱏpSk&_Į0ަZG!B(&, VR#a04;&,J&+T)֚ghDpFY &gi N50(PE2TgjW+VXy14?b}Kc{0 (v ǚa>q+>&sh @V[^c:>CֆG O; _x5ee`iέ8mrI͓<\h,N@A ,ˑf.T߬ ֦.$9h!YdyΠ!%`"FyS"xkBK}%"0ayy0Øvͅ K,74)5lރ$o[<ɇ?agdν`N@8 =0'A5Yfqߦhvնk+S)o{VėauCS(Ұw2)a$5"~¾ * L^`0 #I"'.qe};ƼqfL&+ ?|'d'1RTuL@-j 3+^e_MJz{3Ő,tؐ?1`+BLMMm7=Lv$!s.Q' =~@١QТ zTsp8dccXf{!GXZn҅]*EZ*~}x>~u:=͟-o yff\yl9 y8q@'UoN=ͥFET=4o-ji<m7( S8BX6RHBc1a0mT~L[كvk1!b1, 'H qMe y@V=\%IØE:\S~.iҠG6I q0D/SLQLb;J<' #9+(UGETCj,A_N ȟy\o {4sG+,7!.p){d*MP LJ+c 5m zJ{]v0Lab$CZ Gq Y=VضM Zؠzoⴃ@*ӭ!m!yڣфS<~:A cV;͑A{ģ09w(s)b\xrS6Wc%hmAh\:mRmS*֐! (CjEt`̥{Y&͞D0Q:o%"3>UZX囑 +!y4Oj8r*)Y|wFFۄzQH/*!u/OLjgi7uyzJɲCGhL\]0ULC^tmi#D較=Ʊ}\d hidXٳ \L*ռ=G_֌u p4&NF>Cyb4 t/_Y:ϳ(s*e!y-qlILL.%,2!\ƶyOXqw!( ?&N‹g뭓,|+'e)omvl~vioa"a/$D&RhT&樌қ?3lnu~Jᰛ5Zu0L8 qMe PLYLTmN\hLyxEw8p 4F>G/?ЃǦ(/ΞڂH<Ϩ?p ڐRJ˲x񌢝If[-:KD6WįSg@ [ۨ,f Zk+"Neu{$q![j 4R r$dq֤ W@ҟ{4W<.__>Goy+o{T%|fo%B)CBpqVXYN4{T ˚9 sXRy̓PQ;Bej4MؠYG:a,A( cT01 je-$3?os1j237n<@_s(G^SJtOVMPiT/d%,g4~ ڣX_.XXXХRisg{뷓h8ۘmJò5$yLGqBJP3sT'. mV7bdP)4!pA|cjtфoo/h2sۻyA2(\:zǶ菾J|3BQ7e^ADMPS !4MI<lo\^GnǫP(S(U+Ҙ=H6V$"mXFY$s, ,S$0TTW?bc}E6YmrΝyGeأҧZciF)Q#ᇀ3S>f 4M>gt3hLަfP@`w/-mtO/~x nΤ!P}V  ya'a@{{JF3x~W}s~h{<'NCҬ+46U n!ܺ(FΫ__6.n|BKYmaZUc;J鏵/kw<(%J/恕=_?Tt)\JِBR>~-]*~]=.G|drLiqx0xu60:RMul\uS^7G[1 0^ۚav`8J Rk8LIENDB`0707010001dbcb000041ed0000000000000001000000024175dc3800000000000000200000000000000000000000000000000900000000reloc/po0707010001dbcc000081a400000002000000020000000140d234500000053c000000200000000000000000000000000000001300000000reloc/po/ChangeLogVersion 8.1.7: -------------------------- Swedish translation: Magnus-swe Spanish translation: Diego Escalante Version 8.1.7-1: -------------------------- Changed these lines: To these: --------------------------------------------------------------------- inst banned isnt banned homedirectory home directory cant allocate enough memory for configuration exists. cant allocate enough memory for the configuration. GProFTPD Help GProFTPD help The user was not passworded. The password was not changed. The user: %s\nhas been added to your system with the last part: was changed from: a /bin/false shell and put in ftpusers, the user was not passworded the user was not passworded. to: no password was set. Error passwording user: %s\n Error changing password for user: %s\n Disc Disk --------------------------------------------------------------------- Fixed the help windows translatable strings. Its now several lines instead of one long blog so that part has to be ~remade. 0707010001dbcd000081a40000000200000002000000014173764400001d20000000200000000000000000000000000000001200000000reloc/po/Makefile# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # # This file file be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # Please note that the actual code is *not* freely available. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize GETTEXT_PACKAGE = gproftpd PACKAGE = gproftpd VERSION = 8.1.7 SHELL = /bin/sh srcdir = . top_srcdir = .. prefix = /usr exec_prefix = ${prefix} datadir = ${prefix}/share libdir = ${exec_prefix}/lib localedir = $(libdir)/locale gnulocaledir = $(datadir)/locale gettextsrcdir = $(datadir)/glib-2.0/gettext/po subdir = po INSTALL = .././install-sh -c INSTALL_DATA = ${INSTALL} -m 644 MKINSTALLDIRS = $(top_srcdir)/./mkinstalldirs CC = gcc GENCAT = @GENCAT@ GMSGFMT = /opt/csw/bin/gmsgfmt MSGFMT = /usr/bin/msgfmt XGETTEXT = : MSGMERGE = msgmerge DEFS = -DHAVE_CONFIG_H CFLAGS = -g -O2 -Wall CPPFLAGS = INCLUDES = -I.. -I$(top_srcdir)/intl COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) SOURCES = POFILES = sv.po es.po GMOFILES = sv.gmo es.gmo DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ $(POFILES) $(GMOFILES) $(SOURCES) POTFILES = \ ../src/main.c \ ../src/interface.c \ ../src/callbacks.c \ ../src/support.c CATALOGS = sv.gmo es.gmo CATOBJEXT = .gmo INSTOBJEXT = .mo .SUFFIXES: .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat .c.o: $(COMPILE) $< .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && $(GENCAT) $@ $*.msg all: all-yes all-yes: $(CATALOGS) all-no: $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ --add-comments --keyword=_ --keyword=N_ \ --files-from=$(srcdir)/POTFILES.in \ && test ! -f $(GETTEXT_PACKAGE).po \ || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) install: install-exec install-data install-exec: install-data: install-data-yes install-data-no: all install-data-yes: all if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ fi @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ case "$$cat" in \ *.gmo) destdir=$(gnulocaledir);; \ *) destdir=$(localedir);; \ esac; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $$dir; \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ fi; \ if test -r $$cat; then \ $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ else \ $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ fi; \ if test -r $$cat.m; then \ $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ if test -r $(srcdir)/$$cat.m ; then \ $(INSTALL_DATA) $(srcdir)/$$cat.m \ $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ true; \ fi; \ fi; \ done if test "$(PACKAGE)" = "glib"; then \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ fi; \ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ done if test "$(PACKAGE)" = "glib"; then \ rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ fi check: all dvi info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f $(GMOFILES) distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) dist distdir: update-po $(DISTFILES) dists="$(DISTFILES)"; \ for file in $$dists; do \ ln $(srcdir)/$$file $(distdir) 2> /dev/null \ || cp -p $(srcdir)/$$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ cd $(srcdir); \ catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done # POTFILES is created from POTFILES.in by stripping comments, empty lines # and Intltool tags (enclosed in square brackets), and appending a full # relative path to them POTFILES: POTFILES.in ( if test 'x$(srcdir)' != 'x.'; then \ posrcprefix='$(top_srcdir)/'; \ else \ posrcprefix="../"; \ fi; \ rm -f $@-t $@ \ && (sed -e '/^#/d' \ -e "s/^\[.*\] +//" \ -e '/^[ ]*$$/d' \ -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ | sed -e '$$s/\\$$//') > $@-t \ && chmod a-w $@-t \ && mv $@-t $@ ) Makefile: Makefile.in.in ../config.status POTFILES cd .. \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dbce000081a40000000200000002000000014173763b00001cd1000000200000000000000000000000000000001500000000reloc/po/Makefile.in# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # # This file file be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # Please note that the actual code is *not* freely available. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize GETTEXT_PACKAGE = gproftpd PACKAGE = gproftpd VERSION = 8.1.7 SHELL = /bin/sh srcdir = . top_srcdir = .. prefix = /usr exec_prefix = ${prefix} datadir = ${prefix}/share libdir = ${exec_prefix}/lib localedir = $(libdir)/locale gnulocaledir = $(datadir)/locale gettextsrcdir = $(datadir)/glib-2.0/gettext/po subdir = po INSTALL = .././install-sh -c INSTALL_DATA = ${INSTALL} -m 644 MKINSTALLDIRS = $(top_srcdir)/./mkinstalldirs CC = gcc GENCAT = @GENCAT@ GMSGFMT = /opt/csw/bin/gmsgfmt MSGFMT = /usr/bin/msgfmt XGETTEXT = : MSGMERGE = msgmerge DEFS = -DHAVE_CONFIG_H CFLAGS = -g -O2 -Wall CPPFLAGS = INCLUDES = -I.. -I$(top_srcdir)/intl COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) SOURCES = POFILES = sv.po es.po GMOFILES = sv.gmo es.gmo DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ $(POFILES) $(GMOFILES) $(SOURCES) POTFILES = \ CATALOGS = sv.gmo es.gmo CATOBJEXT = .gmo INSTOBJEXT = .mo .SUFFIXES: .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat .c.o: $(COMPILE) $< .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && $(GENCAT) $@ $*.msg all: all-yes all-yes: $(CATALOGS) all-no: $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ --add-comments --keyword=_ --keyword=N_ \ --files-from=$(srcdir)/POTFILES.in \ && test ! -f $(GETTEXT_PACKAGE).po \ || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) install: install-exec install-data install-exec: install-data: install-data-yes install-data-no: all install-data-yes: all if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ fi @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ case "$$cat" in \ *.gmo) destdir=$(gnulocaledir);; \ *) destdir=$(localedir);; \ esac; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $$dir; \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ fi; \ if test -r $$cat; then \ $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ else \ $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ fi; \ if test -r $$cat.m; then \ $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ if test -r $(srcdir)/$$cat.m ; then \ $(INSTALL_DATA) $(srcdir)/$$cat.m \ $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ true; \ fi; \ fi; \ done if test "$(PACKAGE)" = "glib"; then \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ fi; \ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ done if test "$(PACKAGE)" = "glib"; then \ rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ fi check: all dvi info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f $(GMOFILES) distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) dist distdir: update-po $(DISTFILES) dists="$(DISTFILES)"; \ for file in $$dists; do \ ln $(srcdir)/$$file $(distdir) 2> /dev/null \ || cp -p $(srcdir)/$$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ cd $(srcdir); \ catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done # POTFILES is created from POTFILES.in by stripping comments, empty lines # and Intltool tags (enclosed in square brackets), and appending a full # relative path to them POTFILES: POTFILES.in ( if test 'x$(srcdir)' != 'x.'; then \ posrcprefix='$(top_srcdir)/'; \ else \ posrcprefix="../"; \ fi; \ rm -f $@-t $@ \ && (sed -e '/^#/d' \ -e "s/^\[.*\] +//" \ -e '/^[ ]*$$/d' \ -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ | sed -e '$$s/\\$$//') > $@-t \ && chmod a-w $@-t \ && mv $@-t $@ ) Makefile: Makefile.in.in ../config.status POTFILES cd .. \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dbcf000081a400000002000000020000000140b7fd0100001cfc000000200000000000000000000000000000001800000000reloc/po/Makefile.in.in# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # # This file file be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # Please note that the actual code is *not* freely available. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ libdir = @libdir@ localedir = $(libdir)/locale gnulocaledir = $(datadir)/locale gettextsrcdir = $(datadir)/glib-2.0/gettext/po subdir = po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ CC = @CC@ GENCAT = @GENCAT@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ MSGMERGE = msgmerge DEFS = @DEFS@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ INCLUDES = -I.. -I$(top_srcdir)/intl COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) SOURCES = POFILES = @POFILES@ GMOFILES = @GMOFILES@ DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ $(POFILES) $(GMOFILES) $(SOURCES) POTFILES = \ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ INSTOBJEXT = @INSTOBJEXT@ .SUFFIXES: .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat .c.o: $(COMPILE) $< .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && $(GENCAT) $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ --add-comments --keyword=_ --keyword=N_ \ --files-from=$(srcdir)/POTFILES.in \ && test ! -f $(GETTEXT_PACKAGE).po \ || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ fi @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ case "$$cat" in \ *.gmo) destdir=$(gnulocaledir);; \ *) destdir=$(localedir);; \ esac; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $$dir; \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ fi; \ if test -r $$cat; then \ $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ else \ $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ fi; \ if test -r $$cat.m; then \ $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ if test -r $(srcdir)/$$cat.m ; then \ $(INSTALL_DATA) $(srcdir)/$$cat.m \ $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ echo "installing $(srcdir)/$$cat as" \ "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ else \ true; \ fi; \ fi; \ done if test "$(PACKAGE)" = "glib"; then \ if test -r "$(MKINSTALLDIRS)"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ else \ $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ fi; \ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ done if test "$(PACKAGE)" = "glib"; then \ rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ fi check: all dvi info tags TAGS ID: mostlyclean: rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f $(GMOFILES) distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) dist distdir: update-po $(DISTFILES) dists="$(DISTFILES)"; \ for file in $$dists; do \ ln $(srcdir)/$$file $(distdir) 2> /dev/null \ || cp -p $(srcdir)/$$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ cd $(srcdir); \ catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done # POTFILES is created from POTFILES.in by stripping comments, empty lines # and Intltool tags (enclosed in square brackets), and appending a full # relative path to them POTFILES: POTFILES.in ( if test 'x$(srcdir)' != 'x.'; then \ posrcprefix='$(top_srcdir)/'; \ else \ posrcprefix="../"; \ fi; \ rm -f $@-t $@ \ && (sed -e '/^#/d' \ -e "s/^\[.*\] +//" \ -e '/^[ ]*$$/d' \ -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ | sed -e '$$s/\\$$//') > $@-t \ && chmod a-w $@-t \ && mv $@-t $@ ) Makefile: Makefile.in.in ../config.status POTFILES cd .. \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dbd0000081a40000000200000002000000014173761d0000004f000000200000000000000000000000000000001200000000reloc/po/POTFILES ../src/main.c \ ../src/interface.c \ ../src/callbacks.c \ ../src/support.c 0707010001dbd1000081a40000000200000002000000013e5ba68a00000072000000200000000000000000000000000000001500000000reloc/po/POTFILES.in# List of source files containing translatable strings. src/main.c src/interface.c src/callbacks.c src/support.c 0707010001dbd2000081a4000000020000000200000001417377ff00009a0a000000200000000000000000000000000000001000000000reloc/po/es.gmo #"H"I"b"t"""2"# )#&&#Pd#w#0#$$$5$F+$VG$!$7$D%$ %i %u+% %B% %& ,&>&I &T&*&O'7'eF'6'F(0(b-(((( (1(E) )U)v@)~)C);*5*R1*&****+%+ +3+:+A +I+j+p4+w4+3+3,#,I#,m,$,),,#-.-2-a!- -&--%..-.3.G .N .\.i .>.. ..// */&/9$/`<//,/00-0J$0j0090/0&1(%1O1u1 11111,121*2- 2X%2d22 2242.2.3.%3]333&3*34*4G4f4u4~W4 44445 6A6777/78 7N7X7^67v7 7k7789O8qP8v9f9L9P:=Z:V:;@.;G";v ;';;;;;C;@<-*>>%>()>9>c>y(>>>>-> >?? ?*?4 ?H?U6?Z/?T?@@*!@@@b@~@@6@6@4A34AhA AAAABBB$B,BEB\BmB|BBBBB9B#C C/CO Cl CxC)CCCCC D DD%D.D@mDFDDD DE E*9E6!Ep.E<E-E(F,%FUF{*FFFFGG5,GS6G(G0GHEH&=Hl*HH$H I/I9'IimINI(JNBJw%JCJ0K$2KUKK"KOK<L:ULw)LL(M=M;My MBM/MNN#$N4 NY,Ne N4NN.NOO OXO1#OOOOBO PP) P>PIPNPb Pz1P%P"PQQ Q Q'Q22QFQyQQ!QVQMRYR^RmRJS*/SuSS$STT T_T`TwGTU U(U>UC UK UVUwU>UU-U/V VOVZ@V`VVVVDVNW,WUVWW(WX :X3nXnXXY6Y?YE6YIZZZ$Z%Z$[;[C[8['[h[\e;\\\\:\K].$]z:]I]^$^4:^D ^&^ ^^+^D^_>^_P._p_7`O8`5`R`;aI7a aaaa9aDb"*bg bTbbFc>cM4c7c/cd)dDdLdT/d\ddd%ddd:dFe4ef9e6e2f f?2fV-ff'f6f/g6gf+g3g g(hh0h6hHhPh_hohOh$hii(i0 i72iB+iu.iIij8j6*joj'j(jk k;k=8ky-k(k"l l,l5!lG li lsl0l2l,l m*m!mLmh m"m@m2m1n&-nX!nnn!n+n"o+oNonooQo ooppp/qWqrNrcryrrrr8rrs }sBs^s_t>wtuuSu[ukv<avw +w-w? wm*w{wwww?w8x;x>xzxx!x x>xy(1y<yny.y+yy zzz2z9zUzfzi@zzz5z{ {#{/:{8{s{{ {{{{N{+|3O|_||*| } )}.}X&}j:}:}8~8~@*~y ~~ ~ ~~ =[q G**.U& <+!$Mr }_w'28 1F'x/&4/,)\+()*A*l>.L#RWv@+%;(a!4.J-=,UR/:+@-l/P8bT-%D+'p3> 7*G r4>: CNhU'0B7 z F 3Q7@ NW k,v`W\\uc3='.4<zBWF\d| /%HL3P6 I 1=BFF=b)q5Km0W:AfRjU8H<b*vuNm?] ;V0|;3,g5(IcE h<X,Y9d`E|tDV}zUs>^SCwPkM}G9 7WG^J+)[/Rmw{HdO 0& &  2#_X.yz=ohPI->$* 5Zt?_TOBi$"@poa(vujL!7'a`3rLpn] ce+e1-YTF[=%4Z1x :Kr8xQ{ ')MSgAq4/Kn~lqDW@s\y6k~\%fiQb#C2"6FNB. Jl! Cant open proftpd.conf Check completed. Not installed correctly ?. Run GProFTPD as root Run GProFTPD as root. Run gproftpd as root Run gproftpd as root, not installed correctly ?. The Password was changed. The minimum password length is 6 chars. The server could not be turned off. When gproftpd is started it checks if you have all required files and that the environment is ok. add it in a terminal so GProftpd made that file and added all users Help Quit Offline Press add to add this anonymous user. Press the password randomize button or type any password you want. Select the /bin/false shell. Uncheck the upload checkbutton, this is important. check that this user isnt banned then press the change button. About Online Press the add button to add this user. ReRead or /var/www/html/this_users_directory for a private homepage. Shutdown Total outgoing: %s , Current connections will be dropped: %d*BSD (as of 4.4BSD): mount_null /var/data /home/ftp/bob/data 0 is offline1. Set the users ftp root directory to the webserver's root directory /var/www/html 1. Type anonymous in the username field. 2. Doubleclick that user in the users tab and set require password to off then 2. Take away all text from the upload directory field 3. Make sure the checkbutton next to the upload directory is checked. 4. You can now login as anonymous with no password. 4. You can now login as this user and upload to the html directory. A line with over 8000 chars is not valid in: %s A username containing < or > is not allowed. AboutActionAddAdd ServerAdd an upload directory under the root directory:Add delete or make changes to users in the currently selected server.Add this needed master ftpuser ?AddressAll selected users will be imported with the following settings:Allow logins from:Alot of these extremely long filnames will decrease startup speed. Alternatively: mount -o bind /var/data /home/ftp/bob/data An entry in: %s is too long and has been shortened. An entry in: %s is too long, please correct it. And a big thanks to the Proftpd team. And all translators:Append:ApplyAuthor: Automatically delete aborted uploads:BackupBannedBanned:Bind servers to their addresses:BytesCancelCant add the master ftp group with this command: %s Cant allocate enough memory for adding a new server Cant allocate enough memory for the configuration. Cant allocate enough memory for the default values Cant ban a non active user by PID. Cant delete a user of zero length. Cant determine.Cant get version from: "proftpd -v" Cant open proftpd.conf for writing here: Cant open proftpd.conf here: Cant open shells for reading here: Cant open shells for writing /bin/false here: Cant open the configuration: Cant open the proftpd.conf here: Cant open the securitylog here: Cant write the new proftpd.conf here: Cant write to ftpusers here: Cant write to proftpd.conf here: %s Cdup:Challenge password:ChangeChange group:Change mode:Change working directory:Check syntaxChoose an upload directory (must be below the users directory)Choose the users root directoryCity or town:ClearCloseConfCould not allocate enough memory to read: Could not delete the specified server Could not find the specified server Could not find the specified server, no changes where made. Could not read AllowUser here: Could not write the new userinformation to: Couldn't find pixmap file: %sCouldnt find ftpusers here: Countrycode IE: SV, DK, US etc:Create a new selfsigned certificate:Create directory:Create this upload directoryCurrent usage, transferrates and terminating connections.DNS name or IP address otherwise turn it off. DNS name or IP-address of this server:DNS name or ip address of the server:Default transfermode:DeleteDelete serverDelete the system user ?Delete:DeviceDiscDo you also want to delete the system user ?Do you have another server running on this port ? Do you want to change the users password ?Dont changeDoubleclick to make changes to a userDownload bandwidth:Download settings:Download:Email address:Error adding the fake darwin user, add it manually. Error adding the fake user with this command: Error adding the real user with this command: Error changing password for user: %s Error reading configuration: Error reading group here: Error reading passwd here: Error reading the configuration here: Every certificate field must be filled in Existing users disconnected:FTP-TLS secure communications:FXP transfers:FilenameFilesFor more detailed information about the server and its configuration directives visit: Free spaceGMTGProFTPD PasswordGProFTPD informationGProftpd could not find proftpd.conf or you are using the basic configuration wich doesnt have all features that gproftpd's default configuration has. If you use proftpd's default configuration and dont want to see this question again, take away the line: # Port 21 is the standard ftp port. Do you want to overwrite proftpd.conf with GProftpd's default configuration ? (If you dont know then press yes) GProftpd helpGProftpd needs to add the user and group the server will runs as.GProftpd questionGProftpd version: %sGenerateGenerate certificate:Generate:GroupGroup: I want to thank the following for their contributions:Identity lookups:Idle timeout:If the selected shell is /bin/false, /sbin/nologin etc the user can only login to this ftpserver otherwise If there are no complaints the configuration is ok... If this Proftpd server is behind a NAT gateway you should specify the gateways If you copy or move a file directly to the ftpservers directory you may need to If you delete all text here and check the checkbutton then users will be able to upload directly in the root directoryIf you have just upgraded you should check out the homepage if any additions to the configuration are If you have made customized welcome messages and dont want them overwritten If you want automatically generated statistics you can use gprostats with crond If you want to add directories thats not under the users root directory you can do this: If you want to turn off a server without deleting it you can set its port value to 0 ImportImport users to the currently selected server.Information about mounted devices.Information:It will be used by new FTP-TLS logins. KB/SecKB/secKickKickbanKickbans the first matching username or the matching process numberKicks the first matching username or the matching process numberList server: Cant open proftpd.conf here: List:Login timeout:Make a random passwordMake a random usernameManually delete that user, Max login attempts before disconnected:Maximum connectionsMaximum connections for each server:Maximum logins: Message: Mimimum directory path length is 1 char. Minutes before real shutdown.Misspelled maybe ? Mounted onNAT gateway address:NameNew access disabled:New password: NoNo version foundNo xferlog records found or popen failed Nothing was changed. Number of bits:Number of days the certificate is valid:OKOfflineOnlineOnly use this if you are behind a NAT gatewayOrganization:Organizational unit:Passive ports range:Password:Password: Percent usedPortPressing the online button will let users login again.ProFTPD must be installed and be in your path. Proftpd must be installed and located somewhere in the environments path variable Proftpd version: %sRSA certificate file:Randomize to upper or lower case:Randomized password length:Randomized username length:Refused loginsRefusing to add user root. Refusing to change a server without a specified name. Refusing to change a server without a specified port. Refusing to delete a server with no specified name. Refusing to delete a server with no specified port. Refusing to delete user root. Remote hostRemove directory:Rename:Require encrytion on channels:Require passwordRequire password:RestoreResume broken downloads:Resume broken uploads:Reverse lookups:Root directoryRoot directory:Root directory: Root directory: /home/ftp SaveSecondsSecuritySelect an upload directory below the users root directorySelect any users you want to importSelect the users root directoryServer security information.Server typeServernameServersSetting a servers port to 0 disables it. Shell: Show alternate server identity:Show connection settings:Show current path:Show dates:Show filesize:ShutdownShutdown message:Site:Some typical setups: If one or more of your users needs to have upload access to a http servers directory: Start of transferState or province:Statistics default html path:Statistics default welcome name:Successful loginsTLS LogfileThat user already exists in this server in proftpd.conf. The administrators email address:The certificate has been created successfully The certificate has not been created, something went wrong. The group: %s has been added to your system. The minimum password length is 6 chars. The minimum shell length is 3 chars. The password was not changed. The people at the GTK+ development lists. The port the server listens on:The server is currently:The server is offline. The server runs as this group:The server runs as this user:The server will not reread its configurationThe server will shut down according to these settings.The standard server can not be deleted. The system user was not added because uppercase The systems logfile:The upload directory must be located below the users root directory. The user could not be found, this is a bug or %s has errors. The user didnt exist in shadow or passwd. The user was already banned. The user was banned but not kicked. The user was kicked and banned. The user was not banned, could not write to: %sThe user was not currently in the ftp. The user: %s has been added to your system with a /bin/false shell and put in ftpusers, no password was set. The users can then upload files in the upload directory and download from the The users will have this root directory:There are two directives used for this: Bind and SocketBindTight. These are the settings for this user.They will have username based directories under the root directory:This action is necessary, do you want to do it ?This could be a server running from inetd/xinetd. This fake group owns all files:This fake user owns all files:This in an auto-security feature. This is one way of chmodding all files recursively in the directory /home/ftp: This is the configuration for the currently selected server.This is the default setting, one upload directory and a readonly ftp root directory: This is the entire proftpd configuration.This step can take a whileThis user already existed in the system.This user is permitted to do the following in this directory:Time to real shutdown:Timestandard:To add anonymous readonly access to a directory you can do this: To listen on all interfaces 0.0.0.0 can be usedTotal bandwidth: Total incoming: Total number of imported users: %ld Total spaceTransferred files and statistics generation.TransfersTry reselecting the server by doubleclicking on it. TypeType a password longer then 6 chars to change.UpdateUpdate statistics:Upload bandwidth:Upload directories should have a chmod of 777 and this can be used for /home/ftp/upload Upload directory /home/ftp/upload Upload directory:Upload settings:Upload:Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to. Use FTP-TLS:Use these protocols:Used spaceUserUser and groupname:User or pid not found. User settingsUser: %s could not be found in passwd or shadow. Useradds default root directory path:Useradds default upload directory:UsernameUsername or PID:Username:Username: Username: Usernames are not allowed to begin with a number. UsersVerify clients:WelcomeWelcome message generation failedWhen a user connects to one address and port it gets access according to that servers When you add a user you can randomize its name and password or use your own. With crond and gprostats you can do this to have it automatically update the statistics: YesYou can also select its login shell and where this user should have its root directory and upload directory. You can easily add more servers to run on different interfaces and ports. You must specify a username or process number. You must specify a username. allows this user to do so. and placed in the correct location. asciibinarybothby gprostats you can configure this by doubleclicking a user and unchecking update statistics. chmod it with 644 and chmod directories to 755 so that the directory and file can be accessed. configuration but only if the server is selected to bind to addresses. controlcould not delete it. datadeleteddownloadedfor coding support and testing. for the RPM spec file.for the icons and the weblogo. ftp root directory where you can put what you want to share. gmtlist_files: Could not allocate enough memory list_servers: Could not allocate enough memory local timelowernecessary in order to take full advantage of all its features. nonow, +Minutes or HHMMoffonon the system to it. They are now banned from using the ftp server. or both at the same time: gprostats -html /path/to/output.html -w welcome.msg or language specific letters arent allowed. or press the welcome and html statistics buttons in the files tab to make them once. popen error, user not kicked popen error, user not kicked or banned. proftpd -v failed.run a syntax check to find out if there are any problems. that user gets a private home directory as well as its ftp directory and can login via ssh etc if that server then pressing the change button, this will also exclude the user from the html output. uploadedupperyesProject-Id-Version: 8.1.7 Report-Msgid-Bugs-To: POT-Creation-Date: 2004-06-16 19:02-0500 PO-Revision-Date: 2004-06-16 19:02-0500 Last-Translator: Diego Escalante Language-Team: ES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No se pudo abrir proftpd.conf Revisión completa. ¿Instalación defectuosa?. Ejecute GProFTPD como usuario root Ejecute GProFTPD como usuario root. Ejecuta gproftpd como usuario root Ejecuta gproftpd como usuario root, ¿Mala instalación?. El password fue cambiado. La longitud mínima de un password es de 6 caracteres. El servidor no pudo ser desactivado. Cuando gproftpd inicia, revisa que tenga todos los archivos requeridos y que el entorno sea correcto. añadir en una terminal GProftpd creó el archivo y añadió a todos los usuarios Ayuda Salir Desactivado Presione añadir para añadir este usuario anónimo. Presione el botón password aleatorio o escriba el password que desee. Seleccione el shell /bin/false. Deseleccione el botón de subida, esto es importante. revise si el usuario no está baneado y presione el botón cambiar. Acerca de Activado Presione el botón añadir para añadir este usuario. Releer o la ruta a una homepage privada. Detener Salida total: %s, la conexión actual será terminada: %d*BSD (a partir de 4.4BSD): mount_null /var/data /home/ftp/bob/data 0 es desconectado1. Establezca el directorio raíz del ftp al directorio raíz del servidor http /var/www/html 1. Escribir anonymous en el campo de usuario. 2. Haga doble click en el usuario en la pestaña de usuarios y establezca requerir password a desactivado luego 2. Quite todo el texto del campo directorio de subida 3. Asegurese que el botón de selección esté marcado. 4. Ya puede loguearse como anonymous sin password. 4. Ahora puede loguearse como este usuario y subir archivos al directorio html. Una línea de más de 8000 caracteres no es válida en: %s No se permiten nombres de usuario que contengan < o >. Acerca deAcciónAñadirAñadir servidorAñadir un directorio de subida bajo el directorio raíz:Añadir, borrar or cambiar los usuarios en el servidor seleccionado.¿Añadir este, necesario, master ftpuser?DirecciónTodos los usuarios seleccionados serán importados con las siguiente configuración:Permitir logins de:Muchos archivos con nombres largos reducirán la velocidad de inicio. Alternativamente: mount -o bind /var/data /home/ftp/bob/data Una entrada en: %s es muy larga y ha sido acortada. Una entrada en: %s es muy larga, por favor corríjala. Y un gran agradecimiento al equipo de Proftpd. Y a todos los traductores:Anexar:AplicarAutor: Eliminar automáticamente las subidas abortadosCopia de respaldoBaneadoBaneado:Asociar servidores a sus direcciones:BytesCancelarNo se pudo añadir el master ftp group con el comando: %s No se pudo reservar memoria suficiente para añadir un nuevo servidor No se pudo reservar memoria para la configuración. No se pudo reservar memoria para los valores por defecto No se puede banear a un usuario no activo por su PID. No se puede eliminar un usuario de longitud cero. No se pudo determinar.No se pudo obtener la versión desde "proftpd -v" No se pudo abrir proftpd.conf para escribir: No se pudo abrir proftpd.conf: No se pudieron abrir shells para leer: No se pudieron abrir shells para escribir /bin/false: No se pudo abrir el archivo de configuración: No se pudo abrir proftpd.conf: No se pudo abrir el registro de seguridad: No se pudo escribir el nuevo archivo proftpd.conf: No se pudo escribir a ftpusers: No se pudo escribir a proftpd.conf: %s Cdup:Password de reto:CambiarCambiar grupo:Modo de cambio:Cambiar directorio de trabajo:Revise la sintáxisElija un directorio de subida (debe estar por debajo del directorio de usuario)Elija el directorio raíz de usuarioCiudad o pueblo:LimpiarCerrarConfigurarNo se pudo reservar memoria suficiente para leer: No se pudo borrar el servidor especificado No se pudo encontrar el servidor especificado No se pudo encontrar el servidor especificado, no se realizaron cambios. No se pudo leer AllowUser: No se pudo escribir la nueva información de usuario a: No se pudo encontrar el archivo pixmap: %sNo se pudo encontrar ftpusers: Código de país IE: SV, DK, PE, US etcCrear un nuevo certificado auto firmado:Crear directorioCrear éste directorio de subidaUso actual, tazas de transferencia y conexiones terminando.Nombre DNS o dirección IP, de otro modo desactívelo. Nombre DNS o dirección IP de éste servidor:Nombre DNS o dirección IP del servidor:Modo de transferencia por defecto:EliminarEliminar servidor¿Eliminar el usuario de sistema?Eliminar:DispositivoDisco¿También desea eliminar el usuario de sistema?¿Hay algún otro servidor activo en este puerto? ¿Desea cambiar el password de los usuarios?No cambiarHaga doble click para modificar el usuarioAncho de banda de descarga:Configuración de descarga:Descargar:Dirección de correo electrónico:Error añadiendo el usuario falso darwin, añadalo manualmente. Error al añadir al usuario falso con el comando: Error añadiendo el usuario real con el comando: Error al cambiar el password del usuario: %s Error al leer la configuración: Error al leer el grupo: Error al leer el password: Error al leer la configuración: Todo campo de certificado debe ser llenado Usuarios existentes desconectados:Comunicaciones seguras FTP-TLS:Transferencias FXP:Nombre de archivoArchivosPara información más detallada acerca del servidor y su configuración visite: Espacio libreGMTPassword de GProFTPDInformación de GProFTPDGProftpd no pudo encontrar proftpd.conf, o está usando la configuración básica, que no posée todas las características que la configuración por defecto de gproftpd tiene. Si ua la configuración por defecto de proftpd y no desea ver este aviso de nuevo, quite la línea: # Port 21 is the standard ftp port. ¿Desea sobreescribir proftpd.conf con la configuración por defecto de GProftpd? (Si duda, presione Sí) Ayuda de GProftpdGProftpd necesita añadir el usuario y grupo como los cuales se ejecutará el servidor.Pregunta de GProftpdGProftpd versión: %sGenerarGenerar certificado:GenerarGrupoGrupo: Deseo agraceder a los siguientes por sus contribuciones:Búsqueda de identidad:Tiempo inactivo:Si el shell seleccionado es /bin/false, /sbin/nologin, etc, el usuario solo puede loguearse a este servidor, de lo contrario Si no hay advertencias o quejas, la configuración está bien... Si este servidor Proftpd está detrás de una pasarela NAT, debe especificar la pasarela y su Si copia o mueve un archivo directamente al directorio de servidores ftp, puede necesitarhacer Si borra todo el texto aquí y activa el casillero los usuarios podrán subir archivos directamente al directorio raízSi acaba de actualizar debería revisa la página web de gproftpd para ver si alguna adición a la configuración es Si ha creado mensajes de bienvenida personalizados y no desea que se sobreescriban Si desea estadísticas automáticamente generadas, entonces puede usar gprostats con crond Si desea añadir directorios que no se encuentre bajo el directorio raíz del usuario, puerde hacer esto: Si desea desactivar un servidor sin tener que eliminarlo, puede establecer su puerto al valor 0 ImportarImportar usuarios al servidor seleccionado.Información acerca de dispositivos montados.Información:Será usado por los nuevos logins FTP-TLS Kb/sKb/sEcharEchar y banearEcha y banea el primer nombre de usuario o proceso que coincidaEcha el primer nombre de usuario o proceso que coincida Listar servidor: No se pudo abrir el archivo proftpd.conf: Listar:Tiempo Crear un password aleatorioCrear nombre de usuario aleatorioElimine manualmente al usuario, Máximo número de intentos de login antes de la desconexión:Conexiones máximasMáximo número de conexiones para cada servidor:Logins máximos: Mensaje: La longitud mínima de un path es 1 caracter. Minutos antes de la verdadera desconexión.¿Mal escrito quizá? Montado enDirección de la pasarela NAT:NombreNuevo acceso deshabilitado:Nuevo password: NoNo se encontraron versionesNo se encontraron registros de xfer, o popen falló al abrirlos Nada fue cambiado. Número de bitsNúmero de días en los que el certificado es válidoOkDesactivadoActivadoSólo use esto si se encuentra detrás de una pasarela NATOrganización:Unidad orgánica:Rango de puertos pasivosPasssword:Password: Porcentaje usadoPuertoAl presionar el botón activado, permitirá a los usuarios loguearse de nuevo.ProFTPD debe estar instalado y en su path. Proftpd debe estar instalado y localizado en algún lugar de la variable path Proftpd versión: %sArchivo de certificación RSAMayúsculas o minúsculas, aleatoriamente:Longitud del password aleatoria:Longitud del nombre de usuario aleatoria:Logins rechazadosNegándose a agregar al usuario root. Rehusando cambiar el servidor sin un nombre especificado. Rehusando cambiar el servidor sin un puerto especificado. Rehusando eliminar un servidor sin nombre especificado. Rehusando eliminar un servidor sin puerto especificado. Negando la eliminación del usuario root. Host remotoRemover directorioRenombrar:Requerir cifrado en los canales:Requerir passwordRequerir password:RestaurarResumir descargas inconclusas:Resumir subidas interrumpidasBúsqueda en reversa:Directorio raízDirectorio raíz:Directorio raíz: Directorio raíz: /home/ftp GuardarSegundosSeguridadSeleccione un directorio de subida bajo el directorio raíz del usuarioSelecciona los usuarios que desee importarSeleccione el directorio raíz de los usuariosInformación de seguridad del servidorTipo del servidorNombre del servidorServidoresEstableciendo el puerto de un servidor a 0, lo deshabilita. Shell: Mostrar identidad alternativa del servidor:Mostrar configuración de conexión:Mostrar el path actual:Mostrar fechas:Mostrar tamaño de archivoDesconectarMensaje de desconexión:Sitio:Algunas configuraciones típicas: Si uno o más de sus usuarios necesita acceso de subida al directorio del servidor http: Inicio de transferenciaEstado o provinciaPath html por defecto de estadísticas:Nombre de bienvenida por defecto de estadísticas:Logins exitososArchivo de registro TLSEl usuario ya existe en este servidor, en proftpd.conf. El correo electrónico del/los administrador(es):El certificado fue creado exitosamente El certificado no fue creado, algo salió mal. El grupo: %s fue añadido al sistema. La longitud mínima de un password es 6 caracteres. La longitud mínima del shell es 3 caracteres. El password del usuario no fue cambiado. La gente en las listas de desarrollo GTK+. El puerto en el que escucha el servidor:El servidor es actualmente:El servidor está desactivado. Este servidor se ejecuta como este grupo:Este servidor se ejecuta como este usuarioEl servidor no re-leerá su configuraciónEl servidor se desconectará de acuerdo a esta configuración:El servidor estándar no puede ser eliminado. El usuario de sistema no fue añadido por las letras capitales(mayúsculas) El archivo de registro del sistema:El directorio de subida debe estar localizado debajo del directorio raíz del usuario. El usuario no fue hallado, esto es un error o %s tiene errores. El usuario no existía en passwd o shadow. El usuario ya se encontraba baneado. El usuario fue baneado, pero no echado. El usuario fue echado y baneado. El usuario no fue baneado, no se pudo escribir a: %sEl usuario no estaba, actualmente, en el ftp. El usuario: %s ha sido añadido al sistema con un shell /bin/false, además se le añadió al grupo ftpusers, no se estableció un password. Los usuarios puede subir archivos al directorio de subida y descargar del Los usuarios tendrán éste directorio raíz:Hay dos directivas usadas para esto: Bind y SocketBindTight. Esta es la configuración para este usuario.Tendrán directorios bajo el directorio raíz, basándose en el nombre de usuario:Esta acción es necesaria, ¿quiere realizarla?Podría ser un servidor ejecutándose desde inetd/xinetd. Este grupo falso posée todos los archivos:Este usuario falso posée todos los archivos:Esta es una característica de auto seguridad. Esta es una manera de cambiar los permisos de los archivos dentro de /home/ftp: Esta es la configuración para el servidor seleccionado.Esta es la configuración por defecto, un directorio de subida y otro de solo lectura como raíz: Ésta es la configuración de proftpd entera.Este paso puede tomar un tiempoEste usuario ya existe en el sistema.Se le permite a este usuario, hacer lo siguiente en este directorio:Tiempo hasta la verdadera desconexión:Estándar de tiempo:Para añadir acceso anónimo a un servidor puede: Para escuchar en todas las interfaces, 0.0.0.0 puede ser usadoAncho de banda total: Entrada total: Número total de usuarios importados: %ld Espacio totalArchivos transferidos y generación de estadísticasTransferenciasIntente reseleccionar el servidor haciendo doble click en el. TipoIntroduzca un password mayor de 6 caracteres para cambiar.ActualizarActualizar estadísticas:Ancho de banda de subida:Directorios de subida deben ser chmod 777 esto puede ser usado para /home/ftp/upload Directorio de subida /home/ftp/upload Directorio de subida:Configuración de subida:Subir:Use -c /path/to/proftpd.conf -x /path/to/xferlog si lo necesita. Usar FTP-TLS:Usar estos protocolos:Espacio usadoUsuarioUsuario y nombre de grupo:Usuario o pid no encontrados. Configuración del usuarioEl usuario %s no pudo ser encontrado en los archivos passwd o shadow. Directorio raíz por defecto de usuarios añadidos:Directorio de subida por defecto de usuarios añadidos:Nombre de usuarioNombre de usuario o PID:Usuario:Usuario:Usuario: No se permiten nombres de usuario que comienzen por un número. UsuariosVerificar clientes:BienvenidoGeneración de mensaje de bienvenida fallidaCuando un usuario se conecta a una dirección y puerto, obtiene acceso de acuerdo aese servidor Cuando añade un usuario puede crear un nombre y password aleatorio o usar uno propio. Con crond y gprostats puede hacer esto para actualizar automáticamente las estadísticas: SíTambién puede elegir su shell de login y dónde debe tener este usuario su directorio raíz y directorio de subida. Puede añadir facilmente, más servidor y ejecutarlos en distintas interfaces y distintos puertos. Debes especificar un nombre de usuario o número de proceso. Debe especificar un nombre de usuario. se lo permite. y puesto en el lugar correcto. asciibinarioambospor gprostats, puede configurar esto mediante un doble click al usuario y luego deseleccionando actualizar estadísticas. chmod 644 y chmod 755 directorios, así los directorios y archivos pueden ser usados. y su configuración, pero sólo si se selecciona asociar direcciones. controlno pudo ser eliminado. datosBorradoDescargadopor la asistencia en el código y las pruebas. por el spec de los RPM.por los íconos y el logo de la web. directorio raíz del ftp, donde puede colocar lo que desée compartir. GMTlist_files: No se pudo reservar memoria suficiente list_servers: No se pudo reservar memoria suficiente. hora localinferiornecesaria para tomar ventaja total de las características de gproftpd. nonow, +Minutes o HHMMDesactivadoActivadodel sistema a él. Ahora están baneados de usar el servidor ftp. o ambos a la vez: gprostats -html /path/to/output.html -w welcome.msg o letras específicas del lenguaje que no están permitidas. o presionar los botones de bienvenida y estadística en las pestañas de los archivos a realizar error de popen, el usuario no fue echado error de popen, el usuario no fue echado ni baneado. proftpd -v falló.ejecute una revisión de sintáxis para asegurarse que no hayan problemas. ese usuario obtiene un directorio home, así como un directorio ftp y puede loguearse via ssh si el servidor luego, presione el botón cambiar, esto también excluirá al usuario de salida html. Subidosuperiorsí0707010001dbd3000081a400000002000000020000000140d233bb0000a59f000000200000000000000000000000000000000f00000000reloc/po/es.po# GProftpd - Spanish translation(Peruvian spanish - visit Cusco today!!) # Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the GProftpd package. # Diego Escalante , 2004 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: 8.1.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-06-16 19:02-0500\n" "PO-Revision-Date: 2004-06-16 19:02-0500\n" "Last-Translator: Diego Escalante \n" "Language-Team: ES \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "Error reading passwd here:\n" msgstr "Error al leer el password:\n" msgid "" "\n" "Not installed correctly ?.\n" msgstr "" "\n" "¿Instalación defectuosa?.\n" msgid "Error reading group here:\n" msgstr "Error al leer el grupo:\n" #, c-format msgid "User: %s could not be found in passwd or shadow.\n" msgstr "El usuario %s no pudo ser encontrado en los archivos passwd o shadow.\n" msgid "The password was not changed.\n" msgstr "El password del usuario no fue cambiado.\n" #, c-format msgid "Error changing password for user: %s\n" msgstr "Error al cambiar el password del usuario: %s\n" #, c-format msgid "No se pudo añadir el master ftpuser con el comando: %s\n" msgstr "" #, c-format msgid "" "The user: %s\n" "has been added to your system with a /bin/false shell\n" "and put in ftpusers, no password was set.\n" msgstr "" "El usuario: %s\n" "ha sido añadido al sistema con un shell /bin/false,\n" "además se le añadió al grupo ftpusers, no se estableció un password.\n" #, c-format msgid "Cant add the master ftp group with this command: %s\n" msgstr "No se pudo añadir el master ftp group con el comando: %s\n" #, c-format msgid "" "The group: %s\n" "has been added to your system.\n" msgstr "" "El grupo: %s\n" "fue añadido al sistema.\n" msgid "Cant write to ftpusers here:\n" msgstr "No se pudo escribir a ftpusers:\n" msgid "" "\n" "Run GProFTPD as root.\n" msgstr "" "\n" "Ejecute GProFTPD como usuario root.\n" msgid "Online" msgstr "Activado" msgid "Offline" msgstr "Desactivado" msgid "" "\n" "The server could not be turned off.\n" "\n" msgstr "" "\n" "El servidor no pudo ser desactivado.\n" "\n" msgid "Do you have another server running on this port ?\n" msgstr "¿Hay algún otro servidor activo en este puerto?\n" msgid "This could be a server running from inetd/xinetd.\n" msgstr "Podría ser un servidor ejecutándose desde inetd/xinetd.\n" msgid "The server is offline.\n" msgstr "El servidor está desactivado.\n" msgid "List server: Cant open proftpd.conf here:\n" msgstr "Listar servidor: No se pudo abrir el archivo proftpd.conf:\n" #, c-format msgid "A line with over 8000 chars is not valid in: %s\n" msgstr "Una línea de más de 8000 caracteres no es válida en: %s\n" msgid "on" msgstr "Activado" msgid "off" msgstr "Desactivado" msgid "binary" msgstr "binario" msgid "ascii" msgstr "ascii" msgid "GMT" msgstr "GMT" msgid "local time" msgstr "hora local" msgid "upper" msgstr "superior" msgid "lower" msgstr "inferior" msgid "both" msgstr "ambos" msgid "data" msgstr "datos" msgid "control" msgstr "control" msgid "User" msgstr "Usuario" msgid "Group" msgstr "Grupo" msgid "Root directory" msgstr "Directorio raíz" msgid "Require password" msgstr "Requerir password" msgid "Banned" msgstr "Baneado" msgid "Maximum connections" msgstr "Conexiones máximas" msgid "yes" msgstr "sí" msgid "no" msgstr "no" msgid "Address" msgstr "Dirección" msgid "Port" msgstr "Puerto" msgid "Name" msgstr "Nombre" msgid "Type" msgstr "Tipo" msgid "list_servers: Could not allocate enough memory\n" msgstr "list_servers: No se pudo reservar memoria suficiente.\n" #, c-format msgid "" "An entry in: %s\n" " is too long, please correct it.\n" msgstr "" "Una entrada en: %s\n" "es muy larga, por favor corríjala.\n" msgid "Mounted on" msgstr "Montado en" msgid "Free space" msgstr "Espacio libre" msgid "Used space" msgstr "Espacio usado" msgid "Total space" msgstr "Espacio total" msgid "Percent used" msgstr "Porcentaje usado" msgid "Device" msgstr "Dispositivo" msgid "Cant open the securitylog here:\n" msgstr "No se pudo abrir el registro de seguridad:\n" msgid "Could not allocate enough memory to read:\n" msgstr "No se pudo reservar memoria suficiente para leer:\n" msgid "Username" msgstr "Nombre de usuario" msgid "Action" msgstr "Acción" msgid "Filename" msgstr "Nombre de archivo" msgid "Bytes" msgstr "Bytes" msgid "Start of transfer" msgstr "Inicio de transferencia" msgid "Remote host" msgstr "Host remoto" msgid "list_files: Could not allocate enough memory\n" msgstr "list_files: No se pudo reservar memoria suficiente\n" #, c-format msgid "" "An entry in: %s\n" " is too long and has been shortened.\n" msgstr "" "Una entrada en: %s\n" "es muy larga y ha sido acortada.\n" msgid "Alot of these extremely long filnames will decrease startup speed.\n" msgstr "Muchos archivos con nombres largos reducirán la velocidad de inicio.\n" msgid "uploaded" msgstr "Subido" msgid "downloaded" msgstr "Descargado" msgid "deleted" msgstr "Borrado" msgid "Cant write the new proftpd.conf here:\n" msgstr "No se pudo escribir el nuevo archivo proftpd.conf:\n" msgid "" "\n" "Run GProFTPD as root\n" msgstr "" "\n" "Ejecute GProFTPD como usuario root\n" msgid "Cant allocate enough memory for the default values\n" msgstr "No se pudo reservar memoria para los valores por defecto\n" msgid "Cant allocate enough memory for the configuration.\n" msgstr "No se pudo reservar memoria para la configuración.\n" msgid "Cant get version from: \"proftpd -v\"\n" msgstr "No se pudo obtener la versión desde \"proftpd -v\"\n" msgid "ProFTPD must be installed and be in your path.\n" msgstr "ProFTPD debe estar instalado y en su path.\n" #, c-format msgid "Proftpd version: %s" msgstr "Proftpd versión: %s" #, c-format msgid "GProftpd version: %s" msgstr "GProftpd versión: %s" msgid "No version found" msgstr "No se encontraron versiones" msgid "Servername" msgstr "Nombre del servidor" msgid "Server type" msgstr "Tipo del servidor" msgid "Cant open shells for reading here:\n" msgstr "No se pudieron abrir shells para leer:\n" msgid "Cant open shells for writing /bin/false here:\n" msgstr "No se pudieron abrir shells para escribir /bin/false:\n" msgid "Couldnt find ftpusers here:\n" msgstr "No se pudo encontrar ftpusers:\n" msgid "" "\n" "so GProftpd made that file and added all users\n" msgstr "" "\n" "GProftpd creó el archivo y añadió a todos los usuarios\n" msgid "on the system to it. They are now banned from using the ftp server.\n" msgstr "del sistema a él. Ahora están baneados de usar el servidor ftp.\n" msgid "This in an auto-security feature.\n" msgstr "Esta es una característica de auto seguridad.\n" msgid "You must specify a username.\n" msgstr "Debe especificar un nombre de usuario.\n" msgid "Usernames are not allowed to begin with a number.\n" msgstr "No se permiten nombres de usuario que comienzen por un número.\n" msgid "Refusing to add user root.\n" msgstr "Negándose a agregar al usuario root.\n" msgid "A username containing < or > is not allowed.\n" msgstr "No se permiten nombres de usuario que contengan < o >.\n" msgid "The minimum password length is 6 chars.\n" msgstr "La longitud mínima de un password es 6 caracteres.\n" msgid "The minimum shell length is 3 chars.\n" msgstr "La longitud mínima del shell es 3 caracteres.\n" msgid "Mimimum directory path length is 1 char.\n" msgstr "La longitud mínima de un path es 1 caracter.\n" msgid "Error reading configuration:\n" msgstr "Error al leer la configuración:\n" msgid "" "\n" "Run gproftpd as root, not installed correctly ?.\n" msgstr "" "\n" "Ejecuta gproftpd como usuario root, ¿Mala instalación?.\n" msgid "That user already exists in this server in proftpd.conf.\n" msgstr "El usuario ya existe en este servidor, en proftpd.conf.\n" msgid "Nothing was changed.\n" msgstr "Nada fue cambiado.\n" msgid "Error adding the fake user with this command:\n" msgstr "Error al añadir al usuario falso con el comando:\n" msgid "" "\n" "add it in a terminal\n" msgstr "" "\n" "añadir en una terminal\n" msgid "Error adding the fake darwin user, add it manually.\n" msgstr "Error añadiendo el usuario falso darwin, añadalo manualmente.\n" msgid "Error adding the real user with this command:\n" msgstr "Error añadiendo el usuario real con el comando:\n" msgid "The system user was not added because uppercase\n" msgstr "El usuario de sistema no fue añadido por las letras capitales(mayúsculas)\n" msgid "or language specific letters arent allowed.\n" msgstr "o letras específicas del lenguaje que no están permitidas.\n" msgid "Could not read AllowUser here:\n" msgstr "No se pudo leer AllowUser:\n" msgid "" "\n" "Run gproftpd as root\n" msgstr "" "\n" "Ejecuta gproftpd como usuario root\n" msgid "Could not write the new userinformation to:\n" msgstr "No se pudo escribir la nueva información de usuario a:\n" msgid "Manually delete that user,\n" msgstr "Elimine manualmente al usuario,\n" msgid "could not delete it.\n" msgstr "no pudo ser eliminado.\n" msgid "Cant delete a user of zero length.\n" msgstr "No se puede eliminar un usuario de longitud cero.\n" msgid "Refusing to delete user root.\n" msgstr "Negando la eliminación del usuario root.\n" msgid "Cant open the configuration:\n" msgstr "No se pudo abrir el archivo de configuración:\n" msgid "Could not find the specified server\n" msgstr "No se pudo encontrar el servidor especificado\n" msgid "Try reselecting the server by doubleclicking on it.\n" msgstr "Intente reseleccionar el servidor haciendo doble click en el.\n" msgid "Error reading the configuration here:\n" msgstr "Error al leer la configuración:\n" #, c-format msgid "The user could not be found, this is a bug or %s has errors.\n" msgstr "El usuario no fue hallado, esto es un error o %s tiene errores.\n" msgid "run a syntax check to find out if there are any problems.\n" msgstr "ejecute una revisión de sintáxis para asegurarse que no hayan problemas.\n" msgid "" "\n" "The minimum password length is 6 chars.\n" msgstr "" "\n" "La longitud mínima de un password es de 6 caracteres.\n" msgid "" "\n" "The Password was changed.\n" msgstr "" "\n" "El password fue cambiado.\n" msgid "The user didnt exist in shadow or passwd.\n" msgstr "El usuario no existía en passwd o shadow.\n" msgid "" "\n" "Cant open proftpd.conf\n" msgstr "" "\n" "No se pudo abrir proftpd.conf\n" msgid "" "If there are no complaints the configuration is ok...\n" "\n" msgstr "" "Si no hay advertencias o quejas, la configuración está bien...\n" "\n" msgid "" "\n" "Check completed." msgstr "" "\n" "Revisión completa." #, c-format msgid "" "Cant write to proftpd.conf here: \n" "%s\n" msgstr "" "No se pudo escribir a proftpd.conf: \n" "%s\n" msgid "You must specify a username or process number.\n" msgstr "Debes especificar un nombre de usuario o número de proceso.\n" msgid "popen error, user not kicked\n" msgstr "error de popen, el usuario no fue echado\n" msgid "User or pid not found.\n" msgstr "Usuario o pid no encontrados.\n" msgid "popen error, user not kicked or banned.\n" msgstr "error de popen, el usuario no fue echado ni baneado.\n" #, c-format msgid "" "The user was not banned, could not write to:\n" "%s" msgstr "" "El usuario no fue baneado, no se pudo escribir a:\n" "%s" msgid "Cant ban a non active user by PID.\n" msgstr "No se puede banear a un usuario no activo por su PID.\n" msgid "Misspelled maybe ?\n" msgstr "¿Mal escrito quizá?\n" msgid "The user was already banned.\n" msgstr "El usuario ya se encontraba baneado.\n" msgid "The user was not currently in the ftp.\n" msgstr "El usuario no estaba, actualmente, en el ftp.\n" msgid "The user was banned but not kicked.\n" msgstr "El usuario fue baneado, pero no echado.\n" msgid "The user was kicked and banned.\n" msgstr "El usuario fue echado y baneado.\n" msgid "Welcome message generation failed" msgstr "Generación de mensaje de bienvenida fallida" msgid "No xferlog records found or popen failed\n" msgstr "No se encontraron registros de xfer, o popen falló al abrirlos\n" msgid "Every certificate field must be filled in\n" msgstr "Todo campo de certificado debe ser llenado\n" msgid "This step can take a while" msgstr "Este paso puede tomar un tiempo" msgid "The certificate has been created successfully\n" msgstr "El certificado fue creado exitosamente\n" msgid "and placed in the correct location.\n" msgstr "y puesto en el lugar correcto.\n" msgid "It will be used by new FTP-TLS logins.\n" msgstr "Será usado por los nuevos logins FTP-TLS\n" msgid "The certificate has not been created, something went wrong.\n" msgstr "El certificado no fue creado, algo salió mal.\n" msgid "Cant open proftpd.conf for writing here:\n" msgstr "No se pudo abrir proftpd.conf para escribir:\n" msgid "Cant allocate enough memory for adding a new server\n" msgstr "No se pudo reservar memoria suficiente para añadir un nuevo servidor\n" msgid "The standard server can not be deleted.\n" msgstr "El servidor estándar no puede ser eliminado.\n" msgid "Setting a servers port to 0 disables it.\n" msgstr "Estableciendo el puerto de un servidor a 0, lo deshabilita.\n" msgid "Refusing to delete a server with no specified name.\n" msgstr "Rehusando eliminar un servidor sin nombre especificado.\n" msgid "Refusing to delete a server with no specified port.\n" msgstr "Rehusando eliminar un servidor sin puerto especificado.\n" msgid "Cant open the proftpd.conf here:\n" msgstr "No se pudo abrir proftpd.conf:\n" msgid "Could not delete the specified server\n" msgstr "No se pudo borrar el servidor especificado\n" msgid "Refusing to change a server without a specified name.\n" msgstr "Rehusando cambiar el servidor sin un nombre especificado.\n" msgid "Refusing to change a server without a specified port.\n" msgstr "Rehusando cambiar el servidor sin un puerto especificado.\n" msgid "Cant open proftpd.conf here:\n" msgstr "No se pudo abrir proftpd.conf:\n" msgid "Could not find the specified server, no changes where made.\n" msgstr "No se pudo encontrar el servidor especificado, no se realizaron cambios.\n" msgid "GProftpd help" msgstr "Ayuda de GProftpd" msgid "" "\n" "When gproftpd is started it checks if you have all required files and that " "the environment is ok.\n" "\n" msgstr "" "\n" "Cuando gproftpd inicia, revisa que tenga todos los archivos requeridos y que " "el entorno sea correcto.\n" "\n" msgid "" "If you have just upgraded you should check out the homepage if any additions " "to the configuration are\n" msgstr "" "Si acaba de actualizar debería revisa la página web de gproftpd para ver si alguna adición " "a la configuración es\n" msgid "" "necessary in order to take full advantage of all its features.\n" "\n" msgstr "" "necesaria para tomar ventaja total de las características de gproftpd.\n" "\n" msgid "" "Proftpd must be installed and located somewhere in the environments path " "variable\n" "\n" "\n" msgstr "" "Proftpd debe estar instalado y localizado en algún lugar de la variable path" "\n" "\n" msgid "" "When you add a user you can randomize its name and password or use your " "own.\n" msgstr "" "Cuando añade un usuario puede crear un nombre y password aleatorio o usar " "uno propio.\n" msgid "" "You can also select its login shell and where this user should have its root " "directory and upload directory.\n" msgstr "" "También puede elegir su shell de login y dónde debe tener este usuario su directorio " "raíz y directorio de subida.\n" msgid "" "If the selected shell is /bin/false, /sbin/nologin etc the user can only " "login to this ftpserver otherwise\n" msgstr "" "Si el shell seleccionado es /bin/false, /sbin/nologin, etc, el usuario solo puede " "loguearse a este servidor, de lo contrario\n" msgid "" "that user gets a private home directory as well as its ftp directory and can " "login via ssh etc if that server\n" msgstr "" "ese usuario obtiene un directorio home, así como un directorio ftp y puede " "loguearse via ssh si el servidor\n" msgid "" "allows this user to do so.\n" "\n" msgstr "" "se lo permite.\n" "\n" msgid "The upload directory must be located below the users root directory.\n" msgstr "El directorio de subida debe estar localizado debajo del directorio raíz del usuario.\n" msgid "" "If you dont want that user to have an upload directory you can uncheck the " "checkbox next to it.\n" "\n" msgstr "" msgid "" "If you want to add directories thats not under the users root directory you " "can do this:\n" "\n" msgstr "" "Si desea añadir directorios que no se encuentre bajo el directorio raíz del usuario, " "puerde hacer esto:\n" "\n" msgid "Linux (a partir del kernel 2.4.0):\n" msgstr "" msgid "" "mount --bind /some/directory/to/share /home/ftp/make_this_directory_first\n" "\n" msgstr "" msgid "" "Alternatively:\n" "mount -o bind /var/data /home/ftp/bob/data\n" "\n" msgstr "" "Alternativamente:\n" "mount -o bind /var/data /home/ftp/bob/data\n" "\n" msgid "" "*BSD (as of 4.4BSD):\n" "mount_null /var/data /home/ftp/bob/data\n" "\n" msgstr "" "*BSD (a partir de 4.4BSD):\n" "mount_null /var/data /home/ftp/bob/data\n" "\n" msgid "" "Solaris:\n" "mount -F lofs /var/data /home/ftp/bob/data\n" "\n" msgstr "" msgid "" "If you want automatically generated statistics you can use gprostats with " "crond\n" msgstr "" "Si desea estadísticas automáticamente generadas, entonces puede usar gprostats con " "crond\n" msgid "" "or press the welcome and html statistics buttons in the files tab to make " "them once.\n" "\n" msgstr "" "o presionar los botones de bienvenida y estadística en las pestañas de los archivos a realizar " "\n" msgid "" "With crond and gprostats you can do this to have it automatically update the " "statistics:\n" msgstr "" "Con crond y gprostats puede hacer esto para actualizar automáticamente las " "estadísticas:\n" msgid "" "gprostats -html /path/to/output.html\n" "gprostats -w welcome.msg\n" msgstr "" msgid "" "or both at the same time: gprostats -html /path/to/output.html -w welcome." "msg\n" msgstr "" "o ambos a la vez: gprostats -html /path/to/output.html -w welcome." "msg\n" msgid "" "Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to.\n" "\n" msgstr "" "Use -c /path/to/proftpd.conf -x /path/to/xferlog si lo necesita.\n" "\n" msgid "" "If you have made customized welcome messages and dont want them overwritten\n" msgstr "" "Si ha creado mensajes de bienvenida personalizados y no desea que se sobreescriban\n" msgid "" "by gprostats you can configure this by doubleclicking a user and unchecking " "update statistics.\n" msgstr "" "por gprostats, puede configurar esto mediante un doble click al usuario y luego deseleccionando " "actualizar estadísticas.\n" msgid "" "then pressing the change button, this will also exclude the user from the " "html output.\n" "\n" msgstr "" "luego, presione el botón cambiar, esto también excluirá al usuario de " "salida html.\n" "\n" msgid "" "Some typical setups:\n" "\n" "If one or more of your users needs to have upload access to a http servers " "directory:\n" "\n" msgstr "" "Algunas configuraciones típicas:\n" "\n" "Si uno o más de sus usuarios necesita acceso de subida al directorio del servidor http:" "\n" "\n" msgid "" "1. Set the users ftp root directory to the webserver's root directory /var/" "www/html\n" msgstr "" "1. Establezca el directorio raíz del ftp al directorio raíz del servidor http /var/" "www/html\n" msgid "" " or /var/www/html/this_users_directory for a private homepage.\n" "\n" msgstr "" " o la ruta a una homepage privada.\n" "\n" msgid "" "2. Take away all text from the upload directory field\n" "\n" msgstr "" "2. Quite todo el texto del campo directorio de subida\n" "\n" msgid "3. Make sure the checkbutton next to the upload directory is checked.\n" msgstr "3. Asegurese que el botón de selección esté marcado.\n" msgid "" " Press the add button to add this user.\n" "\n" msgstr "" " Presione el botón añadir para añadir este usuario.\n" "\n" msgid "" "4. You can now login as this user and upload to the html directory.\n" "\n" "\n" msgstr "" "4. Ahora puede loguearse como este usuario y subir archivos al directorio html.\n" "\n" "\n" msgid "" "To add anonymous readonly access to a directory you can do this:\n" "\n" msgstr "" "Para añadir acceso anónimo a un servidor puede:\n" "\n" msgid "1. Type anonymous in the username field. \n" msgstr "1. Escribir anonymous en el campo de usuario.\n" msgid "" " Press the password randomize button or type any password you want.\n" msgstr "" " Presione el botón password aleatorio o escriba el password que desee.\n" msgid " Select the /bin/false shell.\n" msgstr " Seleccione el shell /bin/false.\n" msgid " Uncheck the upload checkbutton, this is important.\n" msgstr " Deseleccione el botón de subida, esto es importante.\n" msgid "" " Press add to add this anonymous user.\n" "\n" msgstr "" " Presione añadir para añadir este usuario anónimo.\n" "\n" msgid "" "2. Doubleclick that user in the users tab and set require password to off " "then\n" msgstr "" "2. Haga doble click en el usuario en la pestaña de usuarios y establezca requerir password a desactivado " "luego\n" msgid "" " check that this user isnt banned then press the change button.\n" "\n" msgstr "" " revise si el usuario no está baneado y presione el botón cambiar.\n" "\n" msgid "" "4. You can now login as anonymous with no password.\n" "\n" "\n" msgstr "" "4. Ya puede loguearse como anonymous sin password.\n" "\n" "\n" msgid "" "This is the default setting, one upload directory and a readonly ftp root " "directory:\n" msgstr "Esta es la configuración por defecto, un directorio de subida y otro de solo lectura como raíz:\n" msgid "Root directory: /home/ftp\n" msgstr "Directorio raíz: /home/ftp\n" msgid "" "Upload directory /home/ftp/upload\n" "\n" msgstr "" "Directorio de subida /home/ftp/upload\n" "\n" msgid "" "The users can then upload files in the upload directory and download from " "the\n" msgstr "" "Los usuarios puede subir archivos al directorio de subida y descargar " "del\n" msgid "" "ftp root directory where you can put what you want to share.\n" "\n" msgstr "" "directorio raíz del ftp, donde puede colocar lo que desée compartir.\n" "\n" msgid "" "You can easily add more servers to run on different interfaces and ports.\n" msgstr "" "Puede añadir facilmente, más servidor y ejecutarlos en distintas interfaces y distintos puertos.\n" msgid "" "When a user connects to one address and port it gets access according to " "that servers\n" msgstr "" "Cuando un usuario se conecta a una dirección y puerto, obtiene acceso de acuerdo a" "ese servidor\n" msgid "" "configuration but only if the server is selected to bind to addresses.\n" msgstr "" "y su configuración, pero sólo si se selecciona asociar direcciones.\n" msgid "" "There are two directives used for this:\n" "Bind and SocketBindTight.\n" msgstr "" "Hay dos directivas usadas para esto:\n" "Bind y SocketBindTight.\n" msgid "" "If you want to turn off a server without deleting it you can set its port " "value to 0\n" "\n" msgstr "" "Si desea desactivar un servidor sin tener que eliminarlo, puede establecer su puerto " "al valor 0\n" "\n" msgid "" "If this Proftpd server is behind a NAT gateway you should specify the " "gateways\n" msgstr "" "Si este servidor Proftpd está detrás de una pasarela NAT, debe especificar la " "pasarela y su\n" msgid "" "DNS name or IP address otherwise turn it off.\n" "\n" msgstr "" "Nombre DNS o dirección IP, de otro modo desactívelo.\n" "\n" msgid "" "If you copy or move a file directly to the ftpservers directory you may need " "to\n" msgstr "" "Si copia o mueve un archivo directamente al directorio de servidores ftp, puede necesitar" "hacer\n" msgid "" "chmod it with 644 and chmod directories to 755 so that the directory and " "file can be accessed.\n" "\n" msgstr "" "chmod 644 y chmod 755 directorios, así los directorios y " "archivos pueden ser usados.\n" "\n" msgid "" "This is one way of chmodding all files recursively in the directory /home/" "ftp:\n" msgstr "" "Esta es una manera de cambiar los permisos de los archivos dentro de /home/" "ftp:\n" msgid "" "find /home/ftp -type f -exec chmod 644 -v {} \\;\n" "\n" msgstr "" msgid "" "Upload directories should have a chmod of 777 and this can be used for /home/" "ftp/upload\n" msgstr "" "Directorios de subida deben ser chmod 777 esto puede ser usado para /home/" "ftp/upload\n" msgid "" "find /home/ftp/upload -type d -exec chmod 777 -v {} \\;\n" "\n" "\n" msgstr "" msgid "" "For more detailed information about the server and its configuration " "directives visit:\n" msgstr "" "Para información más detallada acerca del servidor y su configuración " "visite:\n" msgid "http://www.proftpd.org\n" msgstr "" msgid "Close" msgstr "Cerrar" msgid "Shutdown" msgstr "Desconectar" msgid "The server will shut down according to these settings." msgstr "El servidor se desconectará de acuerdo a esta configuración:" msgid "Time to real shutdown:" msgstr "Tiempo hasta la verdadera desconexión:" msgid "now, +Minutes or HHMM" msgstr "now, +Minutes o HHMM" msgid "New access disabled:" msgstr "Nuevo acceso deshabilitado:" msgid "Minutes before real shutdown." msgstr "Minutos antes de la verdadera desconexión." msgid "Existing users disconnected:" msgstr "Usuarios existentes desconectados:" msgid "Shutdown message:" msgstr "Mensaje de desconexión:" #, c-format msgid "%s , Current connections will be dropped: %d" msgstr "%s, la conexión actual será terminada: %d" msgid "Pressing the online button will let users login again." msgstr "Al presionar el botón activado, permitirá a los usuarios loguearse de nuevo." msgid "Cancel" msgstr "Cancelar" msgid "OK" msgstr "Ok" msgid "GProFTPD information" msgstr "Información de GProFTPD" msgid "User settings" msgstr "Configuración del usuario" msgid "These are the settings for this user." msgstr "Esta es la configuración para este usuario." msgid "Username: " msgstr "Usuario: " msgid "Password: " msgstr "Password: " msgid "Group: " msgstr "Grupo: " msgid "Require password:" msgstr "Requerir password:" msgid "Allow logins from:" msgstr "Permitir logins de:" msgid "Maximum logins: " msgstr "Logins máximos: " msgid "Message: " msgstr "Mensaje: " msgid "Root directory: " msgstr "Directorio raíz: " msgid "Update statistics:" msgstr "Actualizar estadísticas:" msgid "Banned:" msgstr "Baneado:" msgid "Type a password longer then 6 chars to change." msgstr "Introduzca un password mayor de 6 caracteres para cambiar." msgid "all,none,192.168.0.,host.domain.edu,.trusted-domain.org" msgstr "" msgid "Upload directory:" msgstr "Directorio de subida:" msgid "This user is permitted to do the following in this directory:" msgstr "Se le permite a este usuario, hacer lo siguiente en este directorio:" msgid "List:" msgstr "Listar:" msgid "Upload:" msgstr "Subir:" msgid "Append:" msgstr "Anexar:" msgid "Download:" msgstr "Descargar:" msgid "Rename:" msgstr "Renombrar:" msgid "Delete:" msgstr "Eliminar:" msgid "Create directory:" msgstr "Crear directorio" msgid "Remove directory:" msgstr "Remover directorio" msgid "Site:" msgstr "Sitio:" msgid "Show dates:" msgstr "Mostrar fechas:" msgid "Show current path:" msgstr "Mostrar el path actual:" msgid "Show filesize:" msgstr "Mostrar tamaño de archivo" msgid "Change working directory:" msgstr "Cambiar directorio de trabajo:" msgid "Change mode:" msgstr "Modo de cambio:" msgid "Change group:" msgstr "Cambiar grupo:" msgid "Cdup:" msgstr "Cdup:" msgid "Show connection settings:" msgstr "Mostrar configuración de conexión:" msgid "Delete" msgstr "Eliminar" msgid "Change" msgstr "Cambiar" msgid "About" msgstr "Acerca de" msgid "Author: " msgstr "Autor: " msgid "I want to thank the following for their contributions:" msgstr "Deseo agraceder a los siguientes por sus contribuciones:" msgid "for the icons and the weblogo.\n" msgstr "por los íconos y el logo de la web.\n" msgid "for coding support and testing.\n" msgstr "por la asistencia en el código y las pruebas.\n" msgid "The people at the GTK+ development lists.\n" msgstr "La gente en las listas de desarrollo GTK+.\n" msgid "for the RPM spec file." msgstr "por el spec de los RPM." msgid "And all translators:" msgstr "Y a todos los traductores:" msgid "Afrikaans" msgstr "" msgid "Amharic" msgstr "" msgid "Arabic" msgstr "" msgid "Azerbaijani" msgstr "" msgid "Basque" msgstr "" msgid "Bulgarian" msgstr "" msgid "Breton" msgstr "" msgid "Brittish-English" msgstr "" msgid "Bosnian" msgstr "" msgid "Byelorussian" msgstr "" msgid "Catalan" msgstr "" msgid "Chinese" msgstr "" msgid "Chinese-Taiwan" msgstr "" msgid "Croatian" msgstr "" msgid "Czech" msgstr "" msgid "Danish" msgstr "" msgid "Dutch" msgstr "" msgid "Esperanto" msgstr "" msgid "Estonian" msgstr "" msgid "Finnish" msgstr "" msgid "French" msgstr "" msgid "Galician" msgstr "" msgid "German" msgstr "" msgid "Greek" msgstr "" msgid "Hebrew" msgstr "" msgid "Hini" msgstr "" msgid "Hungarian" msgstr "" msgid "Icelandic" msgstr "" msgid "Indonesian" msgstr "" msgid "Irish" msgstr "" msgid "Italian" msgstr "" msgid "Japanese" msgstr "" msgid "Korean" msgstr "" msgid "Kurdish" msgstr "" msgid "Latvian-Lettish" msgstr "" msgid "Lithuanian" msgstr "" msgid "Macedonian" msgstr "" msgid "Maori" msgstr "" msgid "Maltese" msgstr "" msgid "Norwegian" msgstr "" msgid "Polish" msgstr "" msgid "Portuguese" msgstr "" msgid "Portuguese-Brazil" msgstr "" msgid "Romanian" msgstr "" msgid "Russian" msgstr "" msgid "Serbian" msgstr "" msgid "Slovak" msgstr "" msgid "Slovenian" msgstr "" msgid "Spanish" msgstr "" msgid "Swedish" msgstr "" msgid "Tamil" msgstr "" msgid "Thai" msgstr "" msgid "Turkish" msgstr "" msgid "Traditional Chinese" msgstr "" msgid "Ukrainian" msgstr "" msgid "Vietnamese" msgstr "" msgid "Wallon" msgstr "" msgid "Welch" msgstr "" msgid "And a big thanks to the Proftpd team.\n" msgstr "Y un gran agradecimiento al equipo de Proftpd.\n" msgid "Choose the users root directory" msgstr "Elija el directorio raíz de usuario" msgid "Choose an upload directory (must be below the users directory)" msgstr "Elija un directorio de subida (debe estar por debajo del directorio de usuario)" msgid "GProftpd question" msgstr "Pregunta de GProftpd" msgid "" "GProftpd could not find proftpd.conf or you are using\n" "the basic configuration wich doesnt have all features\n" "that gproftpd's default configuration has.\n" "\n" "If you use proftpd's default configuration and dont\n" "want to see this question again, take away the line:\n" "# Port 21 is the standard ftp port.\n" "\n" "Do you want to overwrite proftpd.conf with GProftpd's\n" "default configuration ?\n" "\n" " (If you dont know then press yes)\n" msgstr "" "GProftpd no pudo encontrar proftpd.conf, o está usando\n" "la configuración básica, que no posée todas las características\n" "que la configuración por defecto de gproftpd tiene.\n" "\n" "Si ua la configuración por defecto de proftpd y no\n" "desea ver este aviso de nuevo, quite la línea:\n" "# Port 21 is the standard ftp port.\n" "\n" "¿Desea sobreescribir proftpd.conf con la configuración por defecto de\n" "GProftpd?\n" "\n" " (Si duda, presione Sí)\n" msgid "Yes" msgstr "Sí" msgid "No" msgstr "No" msgid "GProFTPD Password" msgstr "Password de GProFTPD" msgid "This user already existed in the system." msgstr "Este usuario ya existe en el sistema." msgid "Username:" msgstr "Usuario:" msgid "New password: " msgstr "Nuevo password: " msgid "Do you want to change the users password ?" msgstr "¿Desea cambiar el password de los usuarios?" msgid "Dont change" msgstr "No cambiar" msgid "Delete the system user ?" msgstr "¿Eliminar el usuario de sistema?" msgid "Do you also want to delete the system user ?" msgstr "¿También desea eliminar el usuario de sistema?" msgid "Username: " msgstr "Usuario:" msgid "Add this needed master ftpuser ?" msgstr "¿Añadir este, necesario, master ftpuser?" msgid "GProftpd needs to add the user and group the server will runs as." msgstr "GProftpd necesita añadir el usuario y grupo como los cuales se ejecutará el servidor." msgid "User and groupname:" msgstr "Usuario y nombre de grupo:" msgid "This action is necessary, do you want to do it ?" msgstr "Esta acción es necesaria, ¿quiere realizarla?" msgid " Online " msgstr " Activado " msgid " Offline " msgstr " Desactivado " msgid " Shutdown " msgstr " Detener " msgid " ReRead " msgstr " Releer " msgid " Help " msgstr " Ayuda " msgid " About " msgstr " Acerca de " msgid " Quit " msgstr " Salir " msgid "Information:" msgstr "Información:" msgid "proftpd -v failed." msgstr "proftpd -v falló." msgid "The server is currently:" msgstr "El servidor es actualmente:" msgid "Cant determine." msgstr "No se pudo determinar." msgid "This is the configuration for the currently selected server." msgstr "Esta es la configuración para el servidor seleccionado." msgid "Import" msgstr "Importar" msgid "Add Server" msgstr "Añadir servidor" msgid "Delete server" msgstr "Eliminar servidor" msgid "Apply" msgstr "Aplicar" msgid "DNS name or ip address of the server:" msgstr "Nombre DNS o dirección IP del servidor:" msgid "Show alternate server identity:" msgstr "Mostrar identidad alternativa del servidor:" msgid "NAT gateway address:" msgstr "Dirección de la pasarela NAT:" msgid "The administrators email address:" msgstr "El correo electrónico del/los administrador(es):" msgid "To listen on all interfaces 0.0.0.0 can be used" msgstr "Para escuchar en todas las interfaces, 0.0.0.0 puede ser usado" msgid "Only use this if you are behind a NAT gateway" msgstr "Sólo use esto si se encuentra detrás de una pasarela NAT" msgid "Bind servers to their addresses:" msgstr "Asociar servidores a sus direcciones:" msgid "Identity lookups:" msgstr "Búsqueda de identidad:" msgid "Reverse lookups:" msgstr "Búsqueda en reversa:" msgid "Timestandard:" msgstr "Estándar de tiempo:" msgid "The port the server listens on:" msgstr "El puerto en el que escucha el servidor:" msgid "Passive ports range:" msgstr "Rango de puertos pasivos" msgid "Maximum connections for each server:" msgstr "Máximo número de conexiones para cada servidor:" msgid "Max login attempts before disconnected:" msgstr "Máximo número de intentos de login antes de la desconexión:" msgid "Login timeout:" msgstr "Tiempo " msgid "Idle timeout:" msgstr "Tiempo inactivo:" msgid "Randomized username length:" msgstr "Longitud del nombre de usuario aleatoria:" msgid "Randomized password length:" msgstr "Longitud del password aleatoria:" msgid "Randomize to upper or lower case:" msgstr "Mayúsculas o minúsculas, aleatoriamente:" msgid "Default transfermode:" msgstr "Modo de transferencia por defecto:" msgid "FXP transfers:" msgstr "Transferencias FXP:" msgid "gmt" msgstr "GMT" msgid "0 is offline" msgstr "0 es desconectado" msgid "Seconds" msgstr "Segundos" msgid "Useradds default root directory path:" msgstr "Directorio raíz por defecto de usuarios añadidos:" msgid "Useradds default upload directory:" msgstr "Directorio de subida por defecto de usuarios añadidos:" msgid "Statistics default html path:" msgstr "Path html por defecto de estadísticas:" msgid "Statistics default welcome name:" msgstr "Nombre de bienvenida por defecto de estadísticas:" msgid "The systems logfile:" msgstr "El archivo de registro del sistema:" msgid "The server runs as this user:" msgstr "Este servidor se ejecuta como este usuario" msgid "The server runs as this group:" msgstr "Este servidor se ejecuta como este grupo:" msgid "This fake user owns all files:" msgstr "Este usuario falso posée todos los archivos:" msgid "This fake group owns all files:" msgstr "Este grupo falso posée todos los archivos:" msgid "Upload settings:" msgstr "Configuración de subida:" msgid "Upload bandwidth:" msgstr "Ancho de banda de subida:" msgid "Resume broken uploads:" msgstr "Resumir subidas interrumpidas" msgid "Automatically delete aborted uploads:" msgstr "Eliminar automáticamente las subidas abortados" msgid "KB/Sec" msgstr "Kb/s" msgid "Download settings:" msgstr "Configuración de descarga:" msgid "Download bandwidth:" msgstr "Ancho de banda de descarga:" msgid "Resume broken downloads:" msgstr "Resumir descargas inconclusas:" msgid "KB/sec" msgstr "Kb/s" msgid "FTP-TLS secure communications:" msgstr "Comunicaciones seguras FTP-TLS:" msgid "Use FTP-TLS:" msgstr "Usar FTP-TLS:" msgid "Require encrytion on channels:" msgstr "Requerir cifrado en los canales:" msgid "Verify clients:" msgstr "Verificar clientes:" msgid "Use these protocols:" msgstr "Usar estos protocolos:" msgid "TLS Logfile" msgstr "Archivo de registro TLS" msgid "RSA certificate file:" msgstr "Archivo de certificación RSA" msgid "Create a new selfsigned certificate:" msgstr "Crear un nuevo certificado auto firmado:" msgid "DNS name or IP-address of this server:" msgstr "Nombre DNS o dirección IP de éste servidor:" msgid "Email address:" msgstr "Dirección de correo electrónico:" msgid "State or province:" msgstr "Estado o provincia" msgid "City or town:" msgstr "Ciudad o pueblo:" msgid "Organization:" msgstr "Organización:" msgid "Organizational unit:" msgstr "Unidad orgánica:" msgid "Password:" msgstr "Passsword:" msgid "Challenge password:" msgstr "Password de reto:" msgid "Number of bits:" msgstr "Número de bits" msgid "Number of days the certificate is valid:" msgstr "Número de días en los que el certificado es válido" msgid "Countrycode IE: SV, DK, US etc:" msgstr "Código de país IE: SV, DK, PE, US etc" msgid "Generate certificate:" msgstr "Generar certificado:" msgid "Generate" msgstr "Generar" msgid "Servers" msgstr "Servidores" msgid "Add delete or make changes to users in the currently selected server." msgstr "Añadir, borrar or cambiar los usuarios en el servidor seleccionado." msgid "Make a random username" msgstr "Crear nombre de usuario aleatorio" msgid "Select the users root directory" msgstr "Seleccione el directorio raíz de los usuarios" msgid "Root directory:" msgstr "Directorio raíz:" msgid "Make a random password" msgstr "Crear un password aleatorio" msgid "Select an upload directory below the users root directory" msgstr "Seleccione un directorio de subida bajo el directorio raíz del usuario" msgid "Shell: " msgstr "Shell: " msgid "Create this upload directory" msgstr "Crear éste directorio de subida" msgid "Add" msgstr "Añadir" msgid "Doubleclick to make changes to a user" msgstr "Haga doble click para modificar el usuario" msgid "Users" msgstr "Usuarios" msgid "Current usage, transferrates and terminating connections." msgstr "Uso actual, tazas de transferencia y conexiones terminando." msgid "Total bandwidth: " msgstr "Ancho de banda total: " msgid "Total incoming: " msgstr "Entrada total: " msgid " Total outgoing: " msgstr " Salida total: " msgid "Username or PID:" msgstr "Nombre de usuario o PID:" msgid "Kicks the first matching username or the matching process number" msgstr "Echa el primer nombre de usuario o proceso que coincida " msgid "Kick" msgstr "Echar" msgid "Kickbans the first matching username or the matching process number" msgstr "Echa y banea el primer nombre de usuario o proceso que coincida" msgid "Kickban" msgstr "Echar y banear" msgid "Transfers" msgstr "Transferencias" msgid "Information about mounted devices." msgstr "Información acerca de dispositivos montados." msgid "Update" msgstr "Actualizar" msgid "Disc" msgstr "Disco" msgid "Transferred files and statistics generation." msgstr "Archivos transferidos y generación de estadísticas" msgid "Generate:" msgstr "Generar" msgid "Welcome" msgstr "Bienvenido" msgid "Clear" msgstr "Limpiar" msgid "Files" msgstr "Archivos" msgid "This is the entire proftpd configuration." msgstr "Ésta es la configuración de proftpd entera." msgid "Restore" msgstr "Restaurar" msgid "Backup" msgstr "Copia de respaldo" msgid "Check syntax" msgstr "Revise la sintáxis" msgid "The server will not reread its configuration" msgstr "El servidor no re-leerá su configuración" msgid "Save" msgstr "Guardar" msgid "Conf" msgstr "Configurar" msgid "Server security information." msgstr "Información de seguridad del servidor" msgid "Successful logins" msgstr "Logins exitosos" msgid "Refused logins" msgstr "Logins rechazados" msgid "Security" msgstr "Seguridad" #, c-format msgid "Total number of imported users: %ld\n" msgstr "Número total de usuarios importados: %ld\n" msgid "Select any users you want to import" msgstr "Selecciona los usuarios que desee importar" msgid "Import users to the currently selected server." msgstr "Importar usuarios al servidor seleccionado." msgid "All selected users will be imported with the following settings:" msgstr "Todos los usuarios seleccionados serán importados con las siguiente configuración:" msgid "The users will have this root directory:" msgstr "Los usuarios tendrán éste directorio raíz:" msgid "They will have username based directories under the root directory:" msgstr "Tendrán directorios bajo el directorio raíz, basándose en el nombre de usuario:" msgid "Add an upload directory under the root directory:" msgstr "Añadir un directorio de subida bajo el directorio raíz:" msgid "" "If you delete all text here and check the checkbutton then users will be " "able to upload directly in the root directory" msgstr "" "Si borra todo el texto aquí y activa el casillero los usuarios podrán " "subir archivos directamente al directorio raíz" #, c-format msgid "Couldn't find pixmap file: %s" msgstr "No se pudo encontrar el archivo pixmap: %s" 0707010001dbd4000081a400000002000000020000000140d11a9a000064b0000000200000000000000000000000000000001600000000reloc/po/gproftpd.pot# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-06-17 06:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" msgid "Error reading passwd here:\n" msgstr "" msgid "" "\n" "Not installed correctly ?.\n" msgstr "" msgid "Error reading group here:\n" msgstr "" #, c-format msgid "User: %s could not be found in passwd or shadow.\n" msgstr "" msgid "The password was not changed.\n" msgstr "" #, c-format msgid "Error changing password for user: %s\n" msgstr "" #, c-format msgid "Cant add the master ftpuser with this command: %s\n" msgstr "" #, c-format msgid "" "The user: %s\n" "has been added to your system with a /bin/false shell\n" "and put in ftpusers, no password was set.\n" msgstr "" #, c-format msgid "Cant add the master ftp group with this command: %s\n" msgstr "" #, c-format msgid "" "The group: %s\n" "has been added to your system.\n" msgstr "" msgid "Cant write to ftpusers here:\n" msgstr "" msgid "" "\n" "Run GProFTPD as root.\n" msgstr "" msgid "Online" msgstr "" msgid "Offline" msgstr "" msgid "" "\n" "The server could not be turned off.\n" "\n" msgstr "" msgid "Do you have another server running on this port ?\n" msgstr "" msgid "This could be a server running from inetd/xinetd.\n" msgstr "" msgid "The server is offline.\n" msgstr "" msgid "List server: Cant open proftpd.conf here:\n" msgstr "" #, c-format msgid "A line with over 8000 chars is not valid in: %s\n" msgstr "" msgid "on" msgstr "" msgid "off" msgstr "" msgid "binary" msgstr "" msgid "ascii" msgstr "" msgid "GMT" msgstr "" msgid "local time" msgstr "" msgid "upper" msgstr "" msgid "lower" msgstr "" msgid "both" msgstr "" msgid "data" msgstr "" msgid "control" msgstr "" msgid "User" msgstr "" msgid "Group" msgstr "" msgid "Root directory" msgstr "" msgid "Require password" msgstr "" msgid "Banned" msgstr "" msgid "Maximum connections" msgstr "" msgid "yes" msgstr "" msgid "no" msgstr "" msgid "Address" msgstr "" msgid "Port" msgstr "" msgid "Name" msgstr "" msgid "Type" msgstr "" msgid "list_servers: Could not allocate enough memory\n" msgstr "" #, c-format msgid "" "An entry in: %s\n" " is too long, please correct it.\n" msgstr "" msgid "Mounted on" msgstr "" msgid "Free space" msgstr "" msgid "Used space" msgstr "" msgid "Total space" msgstr "" msgid "Percent used" msgstr "" msgid "Device" msgstr "" msgid "Cant open the securitylog here:\n" msgstr "" msgid "Could not allocate enough memory to read:\n" msgstr "" msgid "Username" msgstr "" msgid "Action" msgstr "" msgid "Filename" msgstr "" msgid "Bytes" msgstr "" msgid "Start of transfer" msgstr "" msgid "Remote host" msgstr "" msgid "list_files: Could not allocate enough memory\n" msgstr "" #, c-format msgid "" "An entry in: %s\n" " is too long and has been shortened.\n" msgstr "" msgid "Alot of these extremely long filnames will decrease startup speed.\n" msgstr "" msgid "uploaded" msgstr "" msgid "downloaded" msgstr "" msgid "deleted" msgstr "" msgid "Cant write the new proftpd.conf here:\n" msgstr "" msgid "" "\n" "Run GProFTPD as root\n" msgstr "" msgid "Cant allocate enough memory for the default values\n" msgstr "" msgid "Cant allocate enough memory for the configuration.\n" msgstr "" msgid "Cant get version from: \"proftpd -v\"\n" msgstr "" msgid "ProFTPD must be installed and be in your path.\n" msgstr "" #, c-format msgid "Proftpd version: %s" msgstr "" #, c-format msgid "GProftpd version: %s" msgstr "" msgid "No version found" msgstr "" msgid "Servername" msgstr "" msgid "Server type" msgstr "" msgid "Cant open shells for reading here:\n" msgstr "" msgid "Cant open shells for writing /bin/false here:\n" msgstr "" msgid "Couldnt find ftpusers here:\n" msgstr "" msgid "" "\n" "so GProftpd made that file and added all users\n" msgstr "" msgid "on the system to it. They are now banned from using the ftp server.\n" msgstr "" msgid "This in an auto-security feature.\n" msgstr "" msgid "You must specify a username.\n" msgstr "" msgid "Usernames are not allowed to begin with a number.\n" msgstr "" msgid "Refusing to add user root.\n" msgstr "" msgid "A username containing < or > is not allowed.\n" msgstr "" msgid "The minimum password length is 6 chars.\n" msgstr "" msgid "The minimum shell length is 3 chars.\n" msgstr "" msgid "Mimimum directory path length is 1 char.\n" msgstr "" msgid "Error reading configuration:\n" msgstr "" msgid "" "\n" "Run gproftpd as root, not installed correctly ?.\n" msgstr "" msgid "That user already exists in this server in proftpd.conf.\n" msgstr "" msgid "Nothing was changed.\n" msgstr "" msgid "Error adding the fake user with this command:\n" msgstr "" msgid "" "\n" "add it in a terminal\n" msgstr "" msgid "Error adding the fake darwin user, add it manually.\n" msgstr "" msgid "Error adding the real user with this command:\n" msgstr "" msgid "The system user was not added because uppercase\n" msgstr "" msgid "or language specific letters arent allowed.\n" msgstr "" msgid "Could not read AllowUser here:\n" msgstr "" msgid "" "\n" "Run gproftpd as root\n" msgstr "" msgid "Could not write the new userinformation to:\n" msgstr "" msgid "Manually delete that user,\n" msgstr "" msgid "could not delete it.\n" msgstr "" msgid "Cant delete a user of zero length.\n" msgstr "" msgid "Refusing to delete user root.\n" msgstr "" msgid "Cant open the configuration:\n" msgstr "" msgid "Could not find the specified server\n" msgstr "" msgid "Try reselecting the server by doubleclicking on it.\n" msgstr "" msgid "Error reading the configuration here:\n" msgstr "" #, c-format msgid "The user could not be found, this is a bug or %s has errors.\n" msgstr "" msgid "run a syntax check to find out if there are any problems.\n" msgstr "" msgid "" "\n" "The minimum password length is 6 chars.\n" msgstr "" msgid "" "\n" "The Password was changed.\n" msgstr "" msgid "The user didnt exist in shadow or passwd.\n" msgstr "" msgid "" "\n" "Cant open proftpd.conf\n" msgstr "" msgid "" "If there are no complaints the configuration is ok...\n" "\n" msgstr "" msgid "" "\n" "Check completed." msgstr "" #, c-format msgid "" "Cant write to proftpd.conf here: \n" "%s\n" msgstr "" msgid "You must specify a username or process number.\n" msgstr "" msgid "popen error, user not kicked\n" msgstr "" msgid "User or pid not found.\n" msgstr "" msgid "popen error, user not kicked or banned.\n" msgstr "" #, c-format msgid "" "The user was not banned, could not write to:\n" "%s" msgstr "" msgid "Cant ban a non active user by PID.\n" msgstr "" msgid "Misspelled maybe ?\n" msgstr "" msgid "The user was already banned.\n" msgstr "" msgid "The user was not currently in the ftp.\n" msgstr "" msgid "The user was banned but not kicked.\n" msgstr "" msgid "The user was kicked and banned.\n" msgstr "" msgid "Welcome message generation failed" msgstr "" msgid "No xferlog records found or popen failed\n" msgstr "" msgid "Every certificate field must be filled in\n" msgstr "" msgid "This step can take a while" msgstr "" msgid "The certificate has been created successfully\n" msgstr "" msgid "and placed in the correct location.\n" msgstr "" msgid "It will be used by new FTP-TLS logins.\n" msgstr "" msgid "The certificate has not been created, something went wrong.\n" msgstr "" msgid "Cant open proftpd.conf for writing here:\n" msgstr "" msgid "Cant allocate enough memory for adding a new server\n" msgstr "" msgid "The standard server can not be deleted.\n" msgstr "" msgid "Setting a servers port to 0 disables it.\n" msgstr "" msgid "Refusing to delete a server with no specified name.\n" msgstr "" msgid "Refusing to delete a server with no specified port.\n" msgstr "" msgid "Cant open the proftpd.conf here:\n" msgstr "" msgid "Could not delete the specified server\n" msgstr "" msgid "Refusing to change a server without a specified name.\n" msgstr "" msgid "Refusing to change a server without a specified port.\n" msgstr "" msgid "Cant open proftpd.conf here:\n" msgstr "" msgid "Could not find the specified server, no changes where made.\n" msgstr "" msgid "GProftpd help" msgstr "" msgid "" "\n" "When gproftpd is started it checks if you have all required files and that " "the environment is ok.\n" "\n" msgstr "" msgid "" "If you have just upgraded you should check out the homepage if any additions " "to the configuration are\n" msgstr "" msgid "" "necessary in order to take full advantage of all its features.\n" "\n" msgstr "" msgid "" "Proftpd must be installed and located somewhere in the environments path " "variable\n" "\n" "\n" msgstr "" msgid "" "When you add a user you can randomize its name and password or use your " "own.\n" msgstr "" msgid "" "You can also select its login shell and where this user should have its root " "directory and upload directory.\n" msgstr "" msgid "" "If the selected shell is /bin/false, /sbin/nologin etc the user can only " "login to this ftpserver otherwise\n" msgstr "" msgid "" "that user gets a private home directory as well as its ftp directory and can " "login via ssh etc if that server\n" msgstr "" msgid "" "allows this user to do so.\n" "\n" msgstr "" msgid "The upload directory must be located below the users root directory.\n" msgstr "" msgid "" "If you dont want that user to have an upload directory you can uncheck the " "checkbox next to it.\n" "\n" msgstr "" msgid "" "If you want to add directories thats not under the users root directory you " "can do this:\n" "\n" msgstr "" msgid "Linux (as of kernel 2.4.0):\n" msgstr "" msgid "" "mount --bind /some/directory/to/share /home/ftp/make_this_directory_first\n" "\n" msgstr "" msgid "" "Alternatively:\n" "mount -o bind /var/data /home/ftp/bob/data\n" "\n" msgstr "" msgid "" "*BSD (as of 4.4BSD):\n" "mount_null /var/data /home/ftp/bob/data\n" "\n" msgstr "" msgid "" "Solaris:\n" "mount -F lofs /var/data /home/ftp/bob/data\n" "\n" msgstr "" msgid "" "If you want automatically generated statistics you can use gprostats with " "crond\n" msgstr "" msgid "" "or press the welcome and html statistics buttons in the files tab to make " "them once.\n" "\n" msgstr "" msgid "" "With crond and gprostats you can do this to have it automatically update the " "statistics:\n" msgstr "" msgid "" "gprostats -html /path/to/output.html\n" "gprostats -w welcome.msg\n" msgstr "" msgid "" "or both at the same time: gprostats -html /path/to/output.html -w welcome." "msg\n" msgstr "" msgid "" "Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to.\n" "\n" msgstr "" msgid "" "If you have made customized welcome messages and dont want them overwritten\n" msgstr "" msgid "" "by gprostats you can configure this by doubleclicking a user and unchecking " "update statistics.\n" msgstr "" msgid "" "then pressing the change button, this will also exclude the user from the " "html output.\n" "\n" msgstr "" msgid "" "Some typical setups:\n" "\n" "If one or more of your users needs to have upload access to a http servers " "directory:\n" "\n" msgstr "" msgid "" "1. Set the users ftp root directory to the webserver's root directory /var/" "www/html\n" msgstr "" msgid "" " or /var/www/html/this_users_directory for a private homepage.\n" "\n" msgstr "" msgid "" "2. Take away all text from the upload directory field\n" "\n" msgstr "" msgid "3. Make sure the checkbutton next to the upload directory is checked.\n" msgstr "" msgid "" " Press the add button to add this user.\n" "\n" msgstr "" msgid "" "4. You can now login as this user and upload to the html directory.\n" "\n" "\n" msgstr "" msgid "" "To add anonymous readonly access to a directory you can do this:\n" "\n" msgstr "" msgid "1. Type anonymous in the username field. \n" msgstr "" msgid "" " Press the password randomize button or type any password you want.\n" msgstr "" msgid " Select the /bin/false shell.\n" msgstr "" msgid " Uncheck the upload checkbutton, this is important.\n" msgstr "" msgid "" " Press add to add this anonymous user.\n" "\n" msgstr "" msgid "" "2. Doubleclick that user in the users tab and set require password to off " "then\n" msgstr "" msgid "" " check that this user isnt banned then press the change button.\n" "\n" msgstr "" msgid "" "4. You can now login as anonymous with no password.\n" "\n" "\n" msgstr "" msgid "" "This is the default setting, one upload directory and a readonly ftp root " "directory:\n" msgstr "" msgid "Root directory: /home/ftp\n" msgstr "" msgid "" "Upload directory /home/ftp/upload\n" "\n" msgstr "" msgid "" "The users can then upload files in the upload directory and download from " "the\n" msgstr "" msgid "" "ftp root directory where you can put what you want to share.\n" "\n" msgstr "" msgid "" "You can easily add more servers to run on different interfaces and ports.\n" msgstr "" msgid "" "When a user connects to one address and port it gets access according to " "that servers\n" msgstr "" msgid "" "configuration but only if the server is selected to bind to addresses.\n" msgstr "" msgid "" "There are two directives used for this:\n" "Bind and SocketBindTight.\n" msgstr "" msgid "" "If you want to turn off a server without deleting it you can set its port " "value to 0\n" "\n" msgstr "" msgid "" "If this Proftpd server is behind a NAT gateway you should specify the " "gateways\n" msgstr "" msgid "" "DNS name or IP address otherwise turn it off.\n" "\n" msgstr "" msgid "" "If you copy or move a file directly to the ftpservers directory you may need " "to\n" msgstr "" msgid "" "chmod it with 644 and chmod directories to 755 so that the directory and " "file can be accessed.\n" "\n" msgstr "" msgid "" "This is one way of chmodding all files recursively in the directory /home/" "ftp:\n" msgstr "" msgid "" "find /home/ftp -type f -exec chmod 644 -v {} \\;\n" "\n" msgstr "" msgid "" "Upload directories should have a chmod of 777 and this can be used for /home/" "ftp/upload\n" msgstr "" msgid "" "find /home/ftp/upload -type d -exec chmod 777 -v {} \\;\n" "\n" "\n" msgstr "" msgid "" "For more detailed information about the server and its configuration " "directives visit:\n" msgstr "" msgid "http://www.proftpd.org\n" msgstr "" msgid "Close" msgstr "" msgid "Shutdown" msgstr "" msgid "The server will shut down according to these settings." msgstr "" msgid "Time to real shutdown:" msgstr "" msgid "now, +Minutes or HHMM" msgstr "" msgid "New access disabled:" msgstr "" msgid "Minutes before real shutdown." msgstr "" msgid "Existing users disconnected:" msgstr "" msgid "Shutdown message:" msgstr "" #, c-format msgid "%s , Current connections will be dropped: %d" msgstr "" msgid "Pressing the online button will let users login again." msgstr "" msgid "Cancel" msgstr "" msgid "OK" msgstr "" msgid "GProFTPD information" msgstr "" msgid "User settings" msgstr "" msgid "These are the settings for this user." msgstr "" msgid "Username: " msgstr "" msgid "Password: " msgstr "" msgid "Group: " msgstr "" msgid "Require password:" msgstr "" msgid "Allow logins from:" msgstr "" msgid "Maximum logins: " msgstr "" msgid "Message: " msgstr "" msgid "Root directory: " msgstr "" msgid "Update statistics:" msgstr "" msgid "Banned:" msgstr "" msgid "Type a password longer then 6 chars to change." msgstr "" msgid "all,none,192.168.0.,host.domain.edu,.trusted-domain.org" msgstr "" msgid "Upload directory:" msgstr "" msgid "This user is permitted to do the following in this directory:" msgstr "" msgid "List:" msgstr "" msgid "Upload:" msgstr "" msgid "Append:" msgstr "" msgid "Download:" msgstr "" msgid "Rename:" msgstr "" msgid "Delete:" msgstr "" msgid "Create directory:" msgstr "" msgid "Remove directory:" msgstr "" msgid "Site:" msgstr "" msgid "Show dates:" msgstr "" msgid "Show current path:" msgstr "" msgid "Show filesize:" msgstr "" msgid "Change working directory:" msgstr "" msgid "Change mode:" msgstr "" msgid "Change group:" msgstr "" msgid "Cdup:" msgstr "" msgid "Show connection settings:" msgstr "" msgid "Delete" msgstr "" msgid "Change" msgstr "" msgid "About" msgstr "" msgid "Author: " msgstr "" msgid "I want to thank the following for their contributions:" msgstr "" msgid "for the icons and the weblogo.\n" msgstr "" msgid "for coding support and testing.\n" msgstr "" msgid "The people at the GTK+ development lists.\n" msgstr "" msgid "for the RPM spec file." msgstr "" msgid "And all translators:" msgstr "" msgid "Afrikaans" msgstr "" msgid "Amharic" msgstr "" msgid "Arabic" msgstr "" msgid "Azerbaijani" msgstr "" msgid "Basque" msgstr "" msgid "Bulgarian" msgstr "" msgid "Breton" msgstr "" msgid "Brittish-English" msgstr "" msgid "Bosnian" msgstr "" msgid "Byelorussian" msgstr "" msgid "Catalan" msgstr "" msgid "Chinese" msgstr "" msgid "Chinese-Taiwan" msgstr "" msgid "Croatian" msgstr "" msgid "Czech" msgstr "" msgid "Danish" msgstr "" msgid "Dutch" msgstr "" msgid "Esperanto" msgstr "" msgid "Estonian" msgstr "" msgid "Finnish" msgstr "" msgid "French" msgstr "" msgid "Galician" msgstr "" msgid "German" msgstr "" msgid "Greek" msgstr "" msgid "Hebrew" msgstr "" msgid "Hini" msgstr "" msgid "Hungarian" msgstr "" msgid "Icelandic" msgstr "" msgid "Indonesian" msgstr "" msgid "Irish" msgstr "" msgid "Italian" msgstr "" msgid "Japanese" msgstr "" msgid "Korean" msgstr "" msgid "Kurdish" msgstr "" msgid "Latvian-Lettish" msgstr "" msgid "Lithuanian" msgstr "" msgid "Macedonian" msgstr "" msgid "Maori" msgstr "" msgid "Maltese" msgstr "" msgid "Norwegian" msgstr "" msgid "Polish" msgstr "" msgid "Portuguese" msgstr "" msgid "Portuguese-Brazil" msgstr "" msgid "Romanian" msgstr "" msgid "Russian" msgstr "" msgid "Serbian" msgstr "" msgid "Slovak" msgstr "" msgid "Slovenian" msgstr "" msgid "Spanish" msgstr "" msgid "Swedish" msgstr "" msgid "Tamil" msgstr "" msgid "Thai" msgstr "" msgid "Turkish" msgstr "" msgid "Traditional Chinese" msgstr "" msgid "Ukrainian" msgstr "" msgid "Vietnamese" msgstr "" msgid "Wallon" msgstr "" msgid "Welch" msgstr "" msgid "And a big thanks to the Proftpd team.\n" msgstr "" msgid "Choose the users root directory" msgstr "" msgid "Choose an upload directory (must be below the users directory)" msgstr "" msgid "GProftpd question" msgstr "" msgid "" "GProftpd could not find proftpd.conf or you are using\n" "the basic configuration wich doesnt have all features\n" "that gproftpd's default configuration has.\n" "\n" "If you use proftpd's default configuration and dont\n" "want to see this question again, take away the line:\n" "# Port 21 is the standard ftp port.\n" "\n" "Do you want to overwrite proftpd.conf with GProftpd's\n" "default configuration ?\n" "\n" " (If you dont know then press yes)\n" msgstr "" msgid "Yes" msgstr "" msgid "No" msgstr "" msgid "GProFTPD Password" msgstr "" msgid "This user already existed in the system." msgstr "" msgid "Username:" msgstr "" msgid "New password: " msgstr "" msgid "Do you want to change the users password ?" msgstr "" msgid "Dont change" msgstr "" msgid "Delete the system user ?" msgstr "" msgid "Do you also want to delete the system user ?" msgstr "" msgid "Username: " msgstr "" msgid "Add this needed master ftpuser ?" msgstr "" msgid "GProftpd needs to add the user and group the server will runs as." msgstr "" msgid "User and groupname:" msgstr "" msgid "This action is necessary, do you want to do it ?" msgstr "" msgid " Online " msgstr "" msgid " Offline " msgstr "" msgid " Shutdown " msgstr "" msgid " ReRead " msgstr "" msgid " Help " msgstr "" msgid " About " msgstr "" msgid " Quit " msgstr "" msgid "Information:" msgstr "" msgid "proftpd -v failed." msgstr "" msgid "The server is currently:" msgstr "" msgid "Cant determine." msgstr "" msgid "This is the configuration for the currently selected server." msgstr "" msgid "Import" msgstr "" msgid "Add Server" msgstr "" msgid "Delete server" msgstr "" msgid "Apply" msgstr "" msgid "DNS name or ip address of the server:" msgstr "" msgid "Show alternate server identity:" msgstr "" msgid "NAT gateway address:" msgstr "" msgid "The administrators email address:" msgstr "" msgid "To listen on all interfaces 0.0.0.0 can be used" msgstr "" msgid "Only use this if you are behind a NAT gateway" msgstr "" msgid "Bind servers to their addresses:" msgstr "" msgid "Identity lookups:" msgstr "" msgid "Reverse lookups:" msgstr "" msgid "Timestandard:" msgstr "" msgid "The port the server listens on:" msgstr "" msgid "Passive ports range:" msgstr "" msgid "Maximum connections for each server:" msgstr "" msgid "Max login attempts before disconnected:" msgstr "" msgid "Login timeout:" msgstr "" msgid "Idle timeout:" msgstr "" msgid "Randomized username length:" msgstr "" msgid "Randomized password length:" msgstr "" msgid "Randomize to upper or lower case:" msgstr "" msgid "Default transfermode:" msgstr "" msgid "FXP transfers:" msgstr "" msgid "gmt" msgstr "" msgid "0 is offline" msgstr "" msgid "Seconds" msgstr "" msgid "Useradds default root directory path:" msgstr "" msgid "Useradds default upload directory:" msgstr "" msgid "Statistics default html path:" msgstr "" msgid "Statistics default welcome name:" msgstr "" msgid "The systems logfile:" msgstr "" msgid "The server runs as this user:" msgstr "" msgid "The server runs as this group:" msgstr "" msgid "This fake user owns all files:" msgstr "" msgid "This fake group owns all files:" msgstr "" msgid "Upload settings:" msgstr "" msgid "Upload bandwidth:" msgstr "" msgid "Resume broken uploads:" msgstr "" msgid "Automatically delete aborted uploads:" msgstr "" msgid "KB/Sec" msgstr "" msgid "Download settings:" msgstr "" msgid "Download bandwidth:" msgstr "" msgid "Resume broken downloads:" msgstr "" msgid "KB/sec" msgstr "" msgid "FTP-TLS secure communications:" msgstr "" msgid "Use FTP-TLS:" msgstr "" msgid "Require encrytion on channels:" msgstr "" msgid "Verify clients:" msgstr "" msgid "Use these protocols:" msgstr "" msgid "TLS Logfile" msgstr "" msgid "RSA certificate file:" msgstr "" msgid "Create a new selfsigned certificate:" msgstr "" msgid "DNS name or IP-address of this server:" msgstr "" msgid "Email address:" msgstr "" msgid "State or province:" msgstr "" msgid "City or town:" msgstr "" msgid "Organization:" msgstr "" msgid "Organizational unit:" msgstr "" msgid "Password:" msgstr "" msgid "Challenge password:" msgstr "" msgid "Number of bits:" msgstr "" msgid "Number of days the certificate is valid:" msgstr "" msgid "Countrycode IE: SV, DK, US etc:" msgstr "" msgid "Generate certificate:" msgstr "" msgid "Generate" msgstr "" msgid "Servers" msgstr "" msgid "Add delete or make changes to users in the currently selected server." msgstr "" msgid "Make a random username" msgstr "" msgid "Select the users root directory" msgstr "" msgid "Root directory:" msgstr "" msgid "Make a random password" msgstr "" msgid "Select an upload directory below the users root directory" msgstr "" msgid "Shell: " msgstr "" msgid "Create this upload directory" msgstr "" msgid "Add" msgstr "" msgid "Doubleclick to make changes to a user" msgstr "" msgid "Users" msgstr "" msgid "Current usage, transferrates and terminating connections." msgstr "" msgid "Total bandwidth: " msgstr "" msgid "Total incoming: " msgstr "" msgid " Total outgoing: " msgstr "" msgid "Username or PID:" msgstr "" msgid "Kicks the first matching username or the matching process number" msgstr "" msgid "Kick" msgstr "" msgid "Kickbans the first matching username or the matching process number" msgstr "" msgid "Kickban" msgstr "" msgid "Transfers" msgstr "" msgid "Information about mounted devices." msgstr "" msgid "Update" msgstr "" msgid "Disk" msgstr "" msgid "Transferred files and statistics generation." msgstr "" msgid "Generate:" msgstr "" msgid "Welcome" msgstr "" msgid "Clear" msgstr "" msgid "Files" msgstr "" msgid "This is the entire proftpd configuration." msgstr "" msgid "Restore" msgstr "" msgid "Backup" msgstr "" msgid "Check syntax" msgstr "" msgid "The server will not reread its configuration" msgstr "" msgid "Save" msgstr "" msgid "Conf" msgstr "" msgid "Server security information." msgstr "" msgid "Successful logins" msgstr "" msgid "Refused logins" msgstr "" msgid "Security" msgstr "" #, c-format msgid "Total number of imported users: %ld\n" msgstr "" msgid "Select any users you want to import" msgstr "" msgid "Import users to the currently selected server." msgstr "" msgid "All selected users will be imported with the following settings:" msgstr "" msgid "The users will have this root directory:" msgstr "" msgid "They will have username based directories under the root directory:" msgstr "" msgid "Add an upload directory under the root directory:" msgstr "" msgid "" "If you delete all text here and check the checkbutton then users will be " "able to upload directly in the root directory" msgstr "" #, c-format msgid "Couldn't find pixmap file: %s" msgstr "" 0707010001dbd5000081a4000000020000000200000001417377ff0000a522000000200000000000000000000000000000001000000000reloc/po/sv.gmo ((((,(I(`(x2(()(&)d)/)0))))+*G*:!*7*D* +! +-++; +gB+t ++,+>, ,@T,M*,O,7-F-U6-F-0.-.K.y.. .1.E. / /. /6@/@/C/;/05010R&000000%0 11111& 1-1N1V1] 1n 1x1141214132/32c#2#22$2)33>#3\.33!3 3&447%4U4{444 4 44 444>45< 5\5j5p5v*5{&5$5<56/,6O6|66$6677+9747n/7t&7%7778 88#8<8D8K,8P28}*8 8%89 9! 949>9D49S.9.9%9: :*:E&:a ::*:::;;;; W;( ;;;;; =_A=m===== =>>>>>3>: >?6>I >> >k>7?O?NP?v?a@ff@LA/PA|ZAVB(B.B B"B BB'BCC&C/C6C=CBCCJ@CCCCC*D D6 D<DG DVDaDxDDD'DD$DEE,)EAEkE EEEEEEE)E F$F.FD(FTF}FFF-F FFF GG G%G2G9 G>GI6G[/GTGHH+!HAHcHHH6H6H6I46IkI IIIIJJJ)J1JJJaJrJ{JJJEJKKKK$9K-#KgKKK K KK)KLL!LAL[ LnLzLLLL L5LmLM_MgMyM MMM MMM9M!N6.NX<N-N(N%OOA*O`OOOOO,P6PF(P}0PPEP=Q2*QpQ$Q Q/Q'R/mRWNR(SBS=%SCS0S2TTNTn"TOT<UUU=)UU(U=VV? VVBVd/VVV$V WW+,W? Wl4WvWW.W WWWX XX#XvXXXBX YY Y*Y5Y:YN Yf1Yt%Y"YYY Z ZZ2Z2ZeZk Z{ZZZ!ZVZM[Y[b[m[J\./\y\7\\$]]A]G]N_]S`]G^^\^d^z^ ^2^:^ __!_8>_X_>__-_/` `P`[K`a@```aa CaNaR,aVab%(bCblnbXbcGcPcVZcZddde e"e;4eSe&e eJe%f5<f[fffDfRgga=gPg hhFh$ hkJhx hh2h?i iUNib,iXi;j7Cjs5jRj2k@<kskk kk4kCl 2lPl lKllIl<mGm4m/m(mn n0 n<nF nO+n\ n nnnn"nnnn nooo?oCo[Fo9o9p 6pZ+pp'p/p!q%'qG5qo q!q$q0r #r>*rb rrrr r r rr rrEssUsqsss7s,s+sGt(tp6tttu(u$uM#u\ uFu u7u+v#v?vcvjvvvvvv'v.v#w!wE3wNww w wwJw6x&Bx];x$xy y (yA yjyt)y| yyyyyzRz z^zmzuzz|6V|E|| ||| |||}} }}} )}) }S}] }vo}=}L~2Z~u~nPmU-TfY? : ! 5# Ydmt{XM 8BKT/p  # ! B%Hn")!# 7CX]{: $,/ @ L1V   ;1SQ+, Ij#~//558 n    :R [ fr@8*5`| :!%E \h { 8qdl#  =R"q/*+'&C$j!$1(>Z#/?J@-(#8$)]M.bH-E1N3'*%L-@z^(C/b9 [0T(' "=/mv=z R&Kr K ' 6@'Y8"+ , DR a,o   &_ el]0p3N;&/4V*p_XD$ -29:l 7/A3u34 N1SAM-8`f(5&f?f 0^ = ?DU B9 `E4VLcIMu}'\$07-renXCPfgo Nc*F6]VR':12*Je&&uCYY|68}h:qOK t![WA(pP9FxvXlnGt#/wx)Q5$H,BRkSdsb" >+ 74;`I82J3]=s_op[#O j(,kq|^QZS)aGd{fD~\<zab_UT "m<HlK+%@Wh/E.w!g{~Tj;1riLy%@?N y3.vAz5-iZ M>m Cant open proftpd.conf Check completed. Not installed correctly ?. Run GProFTPD as root Run GProFTPD as root. Run gproftpd as root Run gproftpd as root, not installed correctly ?. The Password was changed. The minimum password length is 6 chars. The server could not be turned off. When gproftpd is started it checks if you have all required files and that the environment is ok. add it in a terminal so GProftpd made that file and added all users Help Quit Offline Press add to add this anonymous user. Press the password randomize button or type any password you want. Select the /bin/false shell. Uncheck the upload checkbutton, this is important. check that this user isnt banned then press the change button. About Online Press the add button to add this user. ReRead or /var/www/html/this_users_directory for a private homepage. Shutdown Total outgoing: %s , Current connections will be dropped: %d*BSD (as of 4.4BSD): mount_null /var/data /home/ftp/bob/data 0 is offline1. Set the users ftp root directory to the webserver's root directory /var/www/html 1. Type anonymous in the username field. 2. Doubleclick that user in the users tab and set require password to off then 2. Take away all text from the upload directory field 3. Make sure the checkbutton next to the upload directory is checked. 4. You can now login as anonymous with no password. 4. You can now login as this user and upload to the html directory. A line with over 8000 chars is not valid in: %s A username containing < or > is not allowed. AboutActionAddAdd ServerAdd an upload directory under the root directory:Add delete or make changes to users in the currently selected server.Add this needed master ftpuser ?AddressAfrikaansAll selected users will be imported with the following settings:Allow logins from:Alot of these extremely long filnames will decrease startup speed. Alternatively: mount -o bind /var/data /home/ftp/bob/data AmharicAn entry in: %s is too long and has been shortened. An entry in: %s is too long, please correct it. And a big thanks to the Proftpd team. And all translators:Append:ApplyArabicAuthor: Automatically delete aborted uploads:AzerbaijaniBackupBannedBanned:BasqueBind servers to their addresses:BosnianBretonBrittish-EnglishBulgarianByelorussianBytesCancelCant add the master ftp group with this command: %s Cant add the master ftpuser with this command: %s Cant allocate enough memory for adding a new server Cant allocate enough memory for the configuration. Cant allocate enough memory for the default values Cant ban a non active user by PID. Cant delete a user of zero length. Cant determine.Cant get version from: "proftpd -v" Cant open proftpd.conf for writing here: Cant open proftpd.conf here: Cant open shells for reading here: Cant open shells for writing /bin/false here: Cant open the configuration: Cant open the proftpd.conf here: Cant open the securitylog here: Cant write the new proftpd.conf here: Cant write to ftpusers here: Cant write to proftpd.conf here: %s CatalanCdup:Challenge password:ChangeChange group:Change mode:Change working directory:Check syntaxChineseChinese-TaiwanChoose an upload directory (must be below the users directory)Choose the users root directoryCity or town:ClearCloseConfCould not allocate enough memory to read: Could not delete the specified server Could not find the specified server Could not find the specified server, no changes where made. Could not read AllowUser here: Could not write the new userinformation to: Couldn't find pixmap file: %sCouldnt find ftpusers here: Countrycode IE: SV, DK, US etc:Create a new selfsigned certificate:Create directory:Create this upload directoryCroatianCurrent usage, transferrates and terminating connections.CzechDNS name or IP address otherwise turn it off. DNS name or IP-address of this server:DNS name or ip address of the server:DanishDefault transfermode:DeleteDelete serverDelete the system user ?Delete:DeviceDiskDo you also want to delete the system user ?Do you have another server running on this port ? Do you want to change the users password ?Dont changeDoubleclick to make changes to a userDownload bandwidth:Download settings:Download:DutchEmail address:Error adding the fake darwin user, add it manually. Error adding the fake user with this command: Error adding the real user with this command: Error changing password for user: %s Error reading configuration: Error reading group here: Error reading passwd here: Error reading the configuration here: EsperantoEstonianEvery certificate field must be filled in Existing users disconnected:FTP-TLS secure communications:FXP transfers:FilenameFilesFinnishFor more detailed information about the server and its configuration directives visit: Free spaceFrenchGProFTPD PasswordGProFTPD informationGProftpd could not find proftpd.conf or you are using the basic configuration wich doesnt have all features that gproftpd's default configuration has. If you use proftpd's default configuration and dont want to see this question again, take away the line: # Port 21 is the standard ftp port. Do you want to overwrite proftpd.conf with GProftpd's default configuration ? (If you dont know then press yes) GProftpd helpGProftpd needs to add the user and group the server will runs as.GProftpd questionGProftpd version: %sGalicianGenerateGenerate certificate:Generate:GermanGreekGroupGroup: HebrewHiniHungarianI want to thank the following for their contributions:IcelandicIdentity lookups:Idle timeout:If the selected shell is /bin/false, /sbin/nologin etc the user can only login to this ftpserver otherwise If there are no complaints the configuration is ok... If this Proftpd server is behind a NAT gateway you should specify the gateways If you copy or move a file directly to the ftpservers directory you may need to If you delete all text here and check the checkbutton then users will be able to upload directly in the root directoryIf you dont want that user to have an upload directory you can uncheck the checkbox next to it. If you have just upgraded you should check out the homepage if any additions to the configuration are If you have made customized welcome messages and dont want them overwritten If you want automatically generated statistics you can use gprostats with crond If you want to add directories thats not under the users root directory you can do this: If you want to turn off a server without deleting it you can set its port value to 0 ImportImport users to the currently selected server.IndonesianInformation about mounted devices.Information:IrishIt will be used by new FTP-TLS logins. ItalianJapaneseKB/SecKB/secKickKickbanKickbans the first matching username or the matching process numberKicks the first matching username or the matching process numberKoreanKurdishLatvian-LettishLinux (as of kernel 2.4.0): List server: Cant open proftpd.conf here: List:LithuanianLogin timeout:MacedonianMake a random passwordMake a random usernameMalteseManually delete that user, MaoriMax login attempts before disconnected:Maximum connectionsMaximum connections for each server:Maximum logins: Message: Mimimum directory path length is 1 char. Minutes before real shutdown.Misspelled maybe ? Mounted onNAT gateway address:NameNew access disabled:New password: NoNo version foundNo xferlog records found or popen failed NorwegianNothing was changed. Number of bits:Number of days the certificate is valid:OKOff is local timeOfflineOnlineOnly use this if you are behind a NAT gatewayOrganization:Organizational unit:Passive ports range:Password:Password: Percent usedPolishPortPortuguesePortuguese-BrazilPressing the online button will let users login again.ProFTPD must be installed and be in your path. Proftpd must be installed and located somewhere in the environments path variable Proftpd version: %sRSA certificate file:Randomize to upper or lower case:Randomized password length:Randomized username length:Refused loginsRefusing to add user root. Refusing to change a server without a specified name. Refusing to change a server without a specified port. Refusing to delete a server without a specified name. Refusing to delete a server without a specified port. Refusing to delete user root. Remote hostRemove directory:Rename:Require encrytion on channels:Require passwordRequire password:RestoreResume broken downloads:Resume broken uploads:Reverse lookups:RomanianRoot directoryRoot directory:Root directory: Root directory: /home/ftp Run the configuration checker to find out if there are any problems. RussianSaveSecondsSecuritySelect an upload directory below the users root directorySelect any users you want to importSelect the users root directorySerbianServer security information.Server typeServernameServersSetting a servers port to 0 disables it. Shell: Show alternate server identity:Show connection settings:Show current path:Show dates:Show filesize:ShutdownShutdown message:Site:SlovakSlovenianSolaris: mount -F lofs /var/data /home/ftp/bob/data Some typical setups: If one or more of your users needs to have upload access to a http servers directory: SpanishStart of transferState or province:Statistics default html path:Statistics default welcome name:Successful loginsSwedishTLS LogfileTamilThaiThat user already exists in this server in proftpd.conf. The administrators email address:The certificate has been created successfully The certificate has not been created, something went wrong. The group: %s has been added to your system. The minimum password length is 6 chars. The minimum shell length is 3 chars. The password was not changed. The people at the GTK+ development lists. The port the server listens on:The server is currently:The server is offline. The server runs as this group:The server runs as this user:The server will not reread its configurationThe server will shut down according to these settings.The standard server can not be deleted. The system user was not added because uppercase The systems logfile:The upload directory must be located below the users root directory. The user could not be found, this is a bug or %s has errors. The user didnt exist in shadow or passwd. The user was already banned. The user was banned but not kicked. The user was kicked and banned. The user was not banned, could not write to: %sThe user was not currently in the ftp. The user: %s has been added to your system with a /bin/false shell and put in ftpusers, no password was set. The users can then upload files in the upload directory and download from the The users will have this root directory:There are two directives used for this: Bind and SocketBindTight. These are the settings for this user.They will have username based directories under the root directory:This action is necessary, do you want to do it ?This could be a server running from inetd/xinetd. This fake group owns all files:This fake user owns all files:This in an auto-security feature. This is one way of chmodding all files recursively in the directory /home/ftp: This is the configuration for the currently selected server.This is the default setting, one upload directory and a readonly ftp root directory: This is the entire proftpd configuration.This step can take a whileThis user already existed in the system.This user is permitted to do the following in this directory:Time to real shutdown:Timestandard:To add anonymous readonly access to a directory you can do this: To listen on all interfaces 0.0.0.0 can be usedTotal bandwidth: Total incoming: Total number of imported users: %ld Total spaceTraditional ChineseTransferred files and statistics generation.TransfersTry reselecting the server by doubleclicking on it. TurkishTypeType a password longer then 6 chars to change.UkrainianUpdateUpdate statistics:Upload bandwidth:Upload directories should have a chmod of 777 and this can be used for /home/ftp/upload Upload directory /home/ftp/upload Upload directory:Upload settings:Upload:Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to. Use FTP-TLS:Use these protocols:Used spaceUserUser and groupname:User or pid not found. User settingsUser: %s could not be found in passwd or shadow. Useradds default root directory path:Useradds default upload directory:UsernameUsername or PID:Username:Username: Username: Usernames are not allowed to begin with a number. UsersVerify clients:VietnameseWallonWelchWelcomeWelcome message generation failedWhen a user connects to one address and port it gets access according to that servers When you add a user you can randomize its name and password or use your own. With crond and gprostats you can do this to have it automatically update the statistics: YesYou can also select its login shell and where this user should have its root directory and upload directory. You can easily add more servers to run on different interfaces and ports. You must specify a username or process number. You must specify a username. all,none,192.168.0.,host.domain.edu,.trusted-domain.orgallows this user to do so. and placed in the correct location. asciibinarybothby gprostats you can configure this by doubleclicking a user and unchecking update statistics. chmod it with 644 and chmod directories to 755 so that the directory and file can be accessed. configuration but only if the server is selected to bind to addresses. controlcould not delete it. datadeleteddownloadedfind /home/ftp -type f -exec chmod 644 -v {} \; find /home/ftp/upload -type d -exec chmod 777 -v {} \; for coding support and testing. for the RPM spec file.for the icons and the weblogo. ftp root directory where you can put what you want to share. gmtgprostats -html /path/to/output.html gprostats -w welcome.msg http://www.proftpd.org list_files: Could not allocate enough memory list_servers: Could not allocate enough memory local timelowermount --bind /some/directory/to/share /home/ftp/make_this_directory_first necessary in order to take full advantage of all its features. nonow, +Minutes or HHMMoffonon the system to it. They are now banned from using the ftp server or both at the same time: gprostats -html /path/to/output.html -w welcome.msg or language specific letters arent allowed. or press the welcome and html statistics buttons in the files tab to make them once. popen error, user not kicked popen error, user not kicked or banned. proftpd -v failed.that user gets a private home directory as well as its ftp directory and can login via ssh etc if that server then pressing the change button, this will also exclude the user from the html output. uploadedupperyesProject-Id-Version: gproftpd 8.1.7 Report-Msgid-Bugs-To: magnus-swe@telia.com POT-Creation-Date: 2004-05-30 20:12+0200 PO-Revision-Date: 2004-05-30 20:00+0200 Last-Translator: Magnus-swe Language-Team: SV MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Kan inte ppna proftpd.conf Kontrollen r slutfrd. Inte korrekt installerad ?. Kr GProFTPD som root Kr GProFTPD som root. Kr gproftpd som root Kr gproftpd som root, inte korrekt installerad ?. Lsenordet har ndrats. Minsta lsenordslngden r 6 tecken. Servern kunde inte stngas av. Nr GProftpd frst startas s kontrollerar den att allt r som det ska. lgg till den i ett terminalfnster s GProFTPD skapade den filen och lade till alla anvndare Hjlp Avsluta Inaktivera Tryck lgg till fr att lgga till den hr anonyma anvndaren. Tryck p lsenords-randomiserings-knappen eller skriv vilket lenord du vill. Vlj /bin/false som skal. Kryssa ur uppladdnings-kryssknappen, det hr r viktigt. sedan att den hr anvndaren inte r bannad tryck sedan p ndra knappen. Om Aktivera Tryck p lgg till knappen fr att lgga till den hr anvndaren. Ls om eller /var/www/html/den/hr/anvndarens/katalog fr en privat hemsida. Stng ner Totalt utgende: %s , Nuvarande anslutningar kommer att stngas: %d*BSD (frn 4.4BSD): mount_null /var/data /home/ftp/robert/data 0 r offline1. Stt anvndarens ftp rotkatalog till webbserverns rotkatalog /var/www/html 1. Skriv anonymous i anvndarnamnsfltet. 2. Dubbelklicka p den anvndaren i anvndarfliken och stt krv lsenord till av kolla 2. Ta bort all text ifrn uppladdningskatalogens textflt 3. Kolla att kryssrutan bredvid uppladdningskatalogen r ikryssad. 4. Du kan nu logga in som anonymous utan lsenord. 4. Du kan nu logga in som den hr anvndaren och ladda upp till html katalogen. En rad med ver 8000 tecken r inte giltigt i: %s Ett anvndarnamn som innehller < eller > r inte tilltet. OmHndelseLgg tillLgg till serverLgg till en uppladdningskatalog under rotkatalogen:Lgg till eller ndra anvndare i den fr nrvarande valda servern.Lgg till den hr ndvndiga huvud-ftpanvndaren ?AddressAfrikanskaAlla valda anvndare kommer att bli importerade med fljande instllningar:Tillt inloggningar ifrn:Mnga av dom hr extremt lnga filnamnen kommer att sla ner uppstarten. Alternativt: mount -o bind /var/data /home/ftp/robert/data AmharikEn rad i: %s r fr lng och har blivit frkortad. En rad i: %s r fr lng, var vnlig fixa det. Och ett stort tack till Proftpd teamet. Och alla versttare:Lgga till:VerkstllArabiskaFrfattare: Ta automatiskt bort avbrutna uppladdningar:AzerbajaniBacka uppBannadBannad:BaskiskaBind servrar till deras addresser:BosniskaBretonBrittisk EngelskaBulgariskaVitryskaBytesAvbrytKan inte lgga till huvud-ftpgruppen med det hr kommandot: %s Kan inte lgga till huvud ftp-anvndaren med fljande kommando: %s Kan inte allokera tillrckligt minne fr att lgga till en ny server. Kan inte allokera tillrckligt minne fr konfigurationen Kan inte allokera tillrckligt minne fr standardvrdena Kan inte banna en anvndare som inte r aktiv via PID Kan inte ta bort en anvndare med lngd 0. Kan inte avgraKan inte f version frn: "proftpd -v" Kan inte ppna proftpd.conf fr skrivning hr: Kan inte ppna proftpd.conf hr: Kan inte ppna shells fr lsning hr: Kan inte ppna shells fr att skriva /bin/false hr: Kan inte ppna konfigurationen: Kan inte ppna proftpd.conf hr: Kan inte ppna skerhetsloggen hr: Kan inte skriva den nya proftpd.conf filen hr: Kan inte skriva till ftpusers hr: Kan inte skriva till proftpd.conf hr: %s KatalanskaCD upp:Utmaningslsenord:ndraByta grupp:Byta chmod:Byta katalog:Kontrollera syntaxKinesiskaKinesisk-TaiwanskaVlj en uppladdningskatalog (mste vara under anvndarens rotkatalog)Vlj anvndarens rotkatalogStad eller statsdel:RensaStngKonfKunde inte allokera tillrckligt utrymme fr att lsa: Kunde inte ta bort den specifierade servern Kunde inte hitta den specificerade servern Kunde inte hitta den specifierade servern, inga ndringar blev gjorda. Kunde inte lsa AllowUser hr: Kunde inte skriva den nya anvndarinformationen till: Kunde inte hitta bildfilen: %sKunde inte hitta ftpusers hr: Landskod tex: SV, DK, US etc:Skapa ett nytt sjlvsignerat certifikat:Skapa katalog:Skapa den hr uppladdningskatalogenKroatiskaNuvarande anvndning, verfringshastigheter och avbryta anslutningar.TjeckiskaDNS-namn eller IP-address annars br du stnga av det. Den hr serverns DNS-namn eller IP-address:Serverns DNS-namn eller IP-address:DanskaStandard verfringslge:Ta bortTa bort serverTa bort systemanvndaren ?Ta bort:EnhetDiskVill du ven ta bort systemanvndaren ?Kr du ngon annan server p den hr porten ? Vill du byta anvndarens lsenord ?Byt inteDubbelklicka fr att gra ndringar p en anvndareNerladdningshastighet:Nerladdningsinstllningar:Nerladdning:HollndskaEmail address:Fel vid skapande av den falska darwin anvndaren, lgg till den manuellt. Fel vid skapande av anvndaren med fljande kommando: Fel vid skapande av den riktiga anvndaren med fljande kommando: Ett fel uppstog vid ndring av lsenord fr anvndaren: %s Fel vid lsning av konfigurationen: Fel vid lsning av grupp hr: Fel vid lsning av lsenord hr Fel vid lsning av konfigurationen hr: EsperantoEstiskaAlla certifikatsflt mste vara ifyllda. Existerande anvndare avstngda.FTP-TLS sker kommunikation:FXP verfringar:FilnamnFilerFinskaFr mera detaljerad information om servern och dess konfigurationsdirektiv besk: Ledigt utrymmeFranskaGProFTPD lsenordGProFTPD informationGProftpd kunde inte hitta proftpd.conf eller s anvnder du standardkonfigurationen som inte har alla finesser som gproftpd's konfiguration har. Om du vill anvnda proftpd's standardkonfiguration och inte vill se den hr frgan igen s ta bort raden: # Port 21 is the standard ftp port. Do you want to overwrite proftpd.conf with GProftpd's standardkonfiguration ? (Om du inte vet s tyck ja) GProftpd hjlpGProftpd behver lgga till anvndaren och gruppen som servern kommer att kras under.GProftpd frgaGProftpd version: %sGalicianskaGenereraGenerera certifikat:Generera:TyskaGrekiskaGruppGrupp:HebreiskaHinduBelgiskaJag vill tacka fljande fr deras bidrag:IslndskaIdentitetsuppslagningar:Idle timeout:Om det valda skalet r /bin/false, /sbin/nologin etc s kan anvndaren bara logga in p den hr servern annars Om det inte finns ngra klagoml s r konfigurationen ok... Om den hr servern r bakom en NAT gateway s br du specificera gatewayens Om du kopierar eller flyttar en fil direkt till ftp-serverns katalog s kanske du behver Om du tar bort all text hr och kryssar i kryss-knappen s kommeranvndarna att kunna ladda upp direkt i rotkatalogenOm du inte vill att den anvndaren ska ha en uppladdningskatalog s kan du kryssa ur kryssrutan bredvid den. Om du jusst uppgraderat s br du ta en titt p hemsidan fr att se om ngra tillgg till konfigurationen r Om du har gjort speciella vlkomstmeddelanden och inte vill att dom ska skrivas ver Om du vill ha automatiskt genererad statistik s kan du anvnda gprostats med crond Om du vill lgga till kataloger som inte finns under anvndarens rotkatalog s kan du gra fljande: Om du vill stnga av en server utan att ta bort dn s kan du stta portens vrde till 0 ImporteraImportera anvndare till den fr nrvarande valda servern.IndonesiskaInformation om monterade enheter.Information:IrlndskaDet kommer att anvndas av nya FTP-TLS inloggningar. ItalienskaJapanskaKB/SecKB/SecKickaKicka och bannaKickar och bannar det frsta matchande anvndarnamnet eller det matchande processnummretKickar det frsta matchande anvndarnamnet eller det matchande processnummretKoreanskaKurdiskaLettiskaLinux (frn kernel 2.4.0): Lista server: kan inte ppna proftpd.conf hr: Lista:LettauiskaInloggningstimeout:MakedonskaSkapa ett randomiserat lsenordSkapa ett randomiserat anvndarnamnMaltesiskaTa bort den anvndaren manuellt, MauriMax inloggningsfrsk innan avstngd:Max uppkopplingarMax anslutningar fr varje server:Maximalt antal inloggningar: Meddelande: Den mimimala kataloglngden r 1 tecken. Minuter fre riktig nedstngning.Felstavat kanske ? Monterad pNAT gateway address:NamnNya anslutningar frhindrade:Nytt lsenord: NejIngen version funnenInga xferlog meddelanden funna eller s misslykades popen NorskaInget blev ndrat. Antal bitar:Antal dagar certifikatet r giltigt:OKOff r lokal tidInaktiveradAktiveradAnvnd bara den hr om du r bakom en NAT gatewayOrganisation:Organisationsenhet:Passivt portsintervall:Lsenord:Lsenord:Procent anvntPolskaPortPortugisiskaPortugisisk-BrasilianskaTryck p aktivera knappen fr att slppa in anvndare igen.ProFTPD mste vara installerat och i din skvg. Proftpd mste vara installerad och finnas ngonstans i miljns skvgsvariabel Proftpd version: %sRSA certifikats fil:Randomisera till stora eller sm bokstver:Randomiserad lsenordslngd:Randomiserad anvndarnamnslngd:Nekade inloggningarVgrar lgga till anvndaren root. Vgrar att byta server utan specificerat namn. Vgrar att byta server utan specificerad port. Vgrar att ta bort en server utan specificerat namn. Vgrar att ta bort en server utan specificerad port. Vgrar ta bort root anvndaren. FjrrvrdTa bort katalog:Byta namn:Krv kryptering p kanaler:Krv lsenordKrv lsenord:terstllteruppta trasiga nerladdningar:teruppta trasiga uppladdningar:Baklngesuppslagningar:RumnskaRotkatalogRotkatalog:Rotkatalog: Rotkatalog: /home/ftp Kr konfigurations kollaren fr att se om det r ngra problem. RyskaSparaSekunderSkerhetVlj en uppladdningskatalog under anvndarens rotkatalogVlj ngra anvndare som du vill importeraVlj anvndarens rotkatalogSerbiskaServerns skerhetsinformation.ServertypServernamnServrarOm man stter en servers port till 0 s anvnds den inte. Skal: Visa alternativ server identitet:Visa anslutnings instllningar:Visa nuvarande skvg:Visa datum:Visa filstorlekar:Stng nerNedstngningsmeddelande.Site:SlovakiskaSlovenskaSolaris: mount -F lofs /var/data /home/ftp/robert/data Ngra typiska uppsttningar: Om en eller flera anvndare behver kunna ladda upp till en http servers katalog: SpanskaBrjan av verfringStat eller provins:Statistikens standardskvg:Statistikens standard vlkomstnamn:Lyckade inloggningarSvenskaTLS logfilTamilskaTaiwanesiskaDen anvndaren finns redan i den hr servern i proftpd.conf. Administratrens emailaddress:Certifikatet har skapats felfritt Certifikatet har inte skapats, ngot blev fel. Gruppen: %s har lagts till i ditt system. Den minimala lsenordslngden r 6 tecken. Den mimimala skal lngden r 3 tecken. Inget lsenord sattes fr anvndaren. Folket p GTK+ utvecklingslistorna. Porten som servern lyssnar p:Servern r fr nrvarande:Servern r inaktiverad Servern krs som den hr gruppen:Servern krs som den hr anvndaren:Servern kommer inte att lsa om sin konfigurationServern kommer att stngas ner enligt dom hr instllningarna.Standardservern kan inte tas bort. Systemanvndaren lades inte till fr att stora Systemets loggfil:Uppladdningskatalogen mste vara under anvndarens rotkatalog. Anvndaren kunde inte hittas, det hr r en bugg eller s r det fel i %s Anvndaren fanns inte i shadow eller passwd. Anvndaren var redan bannad. Anvndaren blev bannad men inte kickad. Anvndaren blev kickad och bannad. Anvndaren blev inte bannad, kunde inte skriva till: %sAnvndaren r inte i ftpn fr nrvarande Anvndaren: %s har lagts till i ditt system med ett /bin/false skal anvndaren har ven lagts till i ftpusers, den lsenordsskyddades inte. Anvndarna kan d ladda upp filer i uppladdningskatalogen och ladda hem frn Anvndarna kommer att ha den hr rotkatalogen:Det finns tv direktiv som anvnds fr detta: Bind och SocketBindTight. Det hr r den hr anvndarens instllningar.Dom kommer att ha anvndarnamnsbaserade kataloger under rotkatalogen:Den hr tgrden r ndvndig, vill du gra den ?Det kan vara en server som krs frn inetd/xinetd. Den hr falska gruppen ger alla filer:Den hr falska anvndaren ger alla filer:Det hr r en auto-skerhets finess. Det hr r ett stt att chmodda alla filer rekursivt i katalogen /home/ftp: Det hr r konfigurationen fr den fr nrvarande valda servern.Det hr r standardinstllningen, en uppladdningskatalog och en endast lsbar ftp rotkatalog: Det hr r hela proftpd's konfiguration.Det hr steget kan ta lite tidDen hr anvndaren existerade redan i systemet.Den hr anvndaren fr gra fljande i den hr katalogen:Tid till riktig nedstngning:Tidsstandard:Fr att lgga till anonym endast lsbar tillgng till en katalog s kan du gra fljande: Fr att lyssna p alla kort kan 0.0.0.0 anvndasTotal hastighet: Totalt inkommande: Totalt antal importerade anvndare: %ld Totalt utrymmeTraditionell kinesiskaverfrda filer och statistik skapande.verfringarProva med att vlja en server genom att dubbelklicka p den. TurkiskaTypSkriv ett lsenord som r lngre n 6 bokstver fr att byta.UkrainskaUppdateraUppdatera statistik:Uppladdningshastighet:Uppladdningskataloger br ha chmod 777 och det kan anvndas till /home/ftp/upload Uppladdningskatalog /home/ftp/upload Uppladdningskatalog:Uppladdningsinstllningar:Uppladdning:Anvnd -c /skvg/till/proftpd.conf -x /skvg/till/xferlog om du behver. Anvnd FTP-TLS:Anvnd dom hr protokollen:Anvnt utrymmeAnvndareAnvndare och gruppnamn:Anvndare eller pid kunde inte hittas. AnvndarinstllningarAnvndaren: %s kunde inte hittas i passwd eller shadow. Standard rotkatalog fr anvndare:Standard uppladdningskatalog fr anvndare:AnvndarnamnAnvndarnamn eller PID:Anvndarnamn:Anvndarnamn: Anvndarnamn:Anvndarnamn fr inte brja med ett nummer. AnvndareVerifiera klienter:VietnamesiskaVallonskaSkottskaVlkommenFel vid skapande av vlkomstmeddelandeNr en anvndare ansluter till en address och port s fr den tilltde enligt hur den serverns Nr du lgger till en anvndare s kan du randomisera dess namn och lsenord eller anvnda ett eget. Med crond och gprostats s kan du gra fljande fr att f automatiskt uppdaterad statistik: JaDu kan ocks vlja anvndarens loginskal och vart den anvndaren ska ha sin rotkatalog och uppladdningskatalog. Du kan enkelt lgga till fler servrar som kan kras p andra kort och portar. Du mste specificera ett anvndarnamn eller processnummer. Du mste specificera ett anvndarnamn all,none,192.168.0.vrd.domn.se,.plitlig-domn.orgtillter den hr anvndaren att gra det. och placerats p rtt stlle. asciibinrtbdaav gprostats s kan du konfigurera det genom att dubbelklicka p en anvndare och kryssa ur uppdatea statistik. chmodda den till 644 och chmodda kataloger till 755 s att katalogen och filen kan kommas t. konfiguration men bara om servern r satt att binda till addresser. kontrollkunde inte ta bort den. datatog bortladdade nerfind /home/ftp -type f -exec chmod 644 -v {} \; find /home/ftp/upload -type d -exec chmod 777 -v {} \; fr kodningshjlp och testning. fr RPM specfilen.fr ikonerna och weblogon. ftp-rotkatalogen dr du kan lgga det du vill dela ut. gmtgprostats -html /skvg/till/utfil.html gprostats -w welcome.msg http://www.proftpd.org list_files: kunde inte allokera tillrckligt minne list_severs: kunde inte allokera tillrckligt minne lokal tidsmmount --bind /ngon/katalog/att/dela /home/ftp/skapa_den_hr_katalogen_frst ndvndiga fr att utnyttja alla instllningar. nejnow, +Minuter eller HHMMavpp systemet i den. Dom r nu bannade frn att anvnda ftpservern eller bda samtidigt: gprostats -html /skvg/till/utfil.html -w welcome.msg eller sprkspecifika bokstver inte tillts. Eller trycka p vlkommen och html statistik knapparna i fil fliken fr att skapa dom en gng. Popen fel, anvndaren blev inte sparkad popen fel, anvndaren blev inte kickad eller bannad. proftpd -v misslyckades.fr den anvndaren en privat hemkatalog och en ftpkatalog och kan logga in via ssh etc om den servern och sedan trycka p ndra knappen, det kommer ocks att exkludera anvndaren ifrn html statistiken. laddade uppstoraja0707010001dbd6000081a400000002000000020000000140d11dea0000a637000000200000000000000000000000000000000f00000000reloc/po/sv.po# Swedish translation of GProFTPD. # Copyright (C) 2004 magnus-swe@telia.com # This file is distributed under the same license as the gproftpd package. # FIRST AUTHOR , 2004. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: gproftpd 8.1.7\n" "Report-Msgid-Bugs-To: magnus-swe@telia.com\n" "POT-Creation-Date: 2004-05-30 20:12+0200\n" "PO-Revision-Date: 2004-05-30 20:00+0200\n" "Last-Translator: Magnus-swe \n" "Language-Team: SV \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" msgid "Error reading passwd here:\n" msgstr "Fel vid lsning av lsenord hr\n" msgid "" "\n" "Not installed correctly ?.\n" msgstr "\nInte korrekt installerad ?.\n" msgid "Error reading group here:\n" msgstr "Fel vid lsning av grupp hr:\n" #, c-format msgid "User: %s could not be found in passwd or shadow.\n" msgstr "Anvndaren: %s kunde inte hittas i passwd eller shadow.\n" msgid "The password was not changed.\n" msgstr "Inget lsenord sattes fr anvndaren.\n" #, c-format msgid "Error changing password for user: %s\n" msgstr "Ett fel uppstog vid ndring av lsenord fr anvndaren: %s\n" #, c-format msgid "Cant add the master ftpuser with this command: %s\n" msgstr "Kan inte lgga till huvud ftp-anvndaren med fljande kommando: %s\n" #, c-format msgid "" "The user: %s\n" "has been added to your system with a /bin/false shell\n" "and put in ftpusers, no password was set.\n" msgstr "Anvndaren: %s\n" "har lagts till i ditt system med ett /bin/false skal\n" "anvndaren har ven lagts till i ftpusers, den lsenordsskyddades inte.\n" #, c-format msgid "Cant add the master ftp group with this command: %s\n" msgstr "Kan inte lgga till huvud-ftpgruppen med det hr kommandot: %s\n" #, c-format msgid "" "The group: %s\n" "has been added to your system.\n" msgstr "Gruppen: %s\n" "har lagts till i ditt system.\n" msgid "Cant write to ftpusers here:\n" msgstr "Kan inte skriva till ftpusers hr:\n" msgid "" "\n" "Run GProFTPD as root.\n" msgstr "\nKr GProFTPD som root.\n" msgid "Online" msgstr "Aktiverad" msgid "Offline" msgstr "Inaktiverad" msgid "" "\n" "The server could not be turned off.\n" "\n" msgstr "\nServern kunde inte stngas av.\n" msgid "Do you have another server running on this port ?\n" msgstr "Kr du ngon annan server p den hr porten ?\n" msgid "This could be a server running from inetd/xinetd.\n" msgstr "Det kan vara en server som krs frn inetd/xinetd.\n" msgid "The server is offline.\n" msgstr "Servern r inaktiverad\n" msgid "List server: Cant open proftpd.conf here:\n" msgstr "Lista server: kan inte ppna proftpd.conf hr:\n" #, c-format msgid "A line with over 8000 chars is not valid in: %s\n" msgstr "En rad med ver 8000 tecken r inte giltigt i: %s\n" msgid "on" msgstr "p" msgid "off" msgstr "av" msgid "binary" msgstr "binrt" msgid "ascii" msgstr "ascii" msgid "gmt" msgstr "gmt" msgid "local time" msgstr "lokal tid" msgid "upper" msgstr "stora" msgid "lower" msgstr "sm" msgid "both" msgstr "bda" msgid "data" msgstr "data" msgid "control" msgstr "kontroll" msgid "User" msgstr "Anvndare" msgid "Group" msgstr "Grupp" msgid "Root directory" msgstr "Rotkatalog" msgid "Require password" msgstr "Krv lsenord" msgid "Banned" msgstr "Bannad" msgid "Maximum connections" msgstr "Max uppkopplingar" msgid "yes" msgstr "ja" msgid "no" msgstr "nej" msgid "Address" msgstr "Address" msgid "Port" msgstr "Port" msgid "Name" msgstr "Namn" msgid "Type" msgstr "Typ" msgid "list_servers: Could not allocate enough memory\n" msgstr "list_severs: kunde inte allokera tillrckligt minne\n" #, c-format msgid "" "An entry in: %s\n" " is too long, please correct it.\n" msgstr "En rad i: %s\n" "r fr lng, var vnlig fixa det.\n" msgid "Mounted on" msgstr "Monterad p" msgid "Free space" msgstr "Ledigt utrymme" msgid "Used space" msgstr "Anvnt utrymme" msgid "Total space" msgstr "Totalt utrymme" msgid "Percent used" msgstr "Procent anvnt" msgid "Device" msgstr "Enhet" msgid "Cant open the securitylog here:\n" msgstr "Kan inte ppna skerhetsloggen hr:\n" msgid "Could not allocate enough memory to read:\n" msgstr "Kunde inte allokera tillrckligt utrymme fr att lsa:\n" msgid "Username" msgstr "Anvndarnamn" msgid "Action" msgstr "Hndelse" msgid "Filename" msgstr "Filnamn" msgid "Bytes" msgstr "Bytes" msgid "Start of transfer" msgstr "Brjan av verfring" msgid "Remote host" msgstr "Fjrrvrd" msgid "list_files: Could not allocate enough memory\n" msgstr "list_files: kunde inte allokera tillrckligt minne\n" #, c-format msgid "" "An entry in: %s\n" " is too long and has been shortened.\n" msgstr "En rad i: %s\n" " r fr lng och har blivit frkortad.\n" msgid "Alot of these extremely long filnames will decrease startup speed.\n" msgstr "Mnga av dom hr extremt lnga filnamnen kommer att sla ner uppstarten.\n" msgid "uploaded" msgstr "laddade upp" msgid "downloaded" msgstr "laddade ner" msgid "deleted" msgstr "tog bort" msgid "Cant write the new proftpd.conf here:\n" msgstr "Kan inte skriva den nya proftpd.conf filen hr:\n" msgid "" "\n" "Run GProFTPD as root\n" msgstr "\nKr GProFTPD som root\n" msgid "Cant allocate enough memory for the default values\n" msgstr "Kan inte allokera tillrckligt minne fr standardvrdena\n" msgid "Cant allocate enough memory for the configuration.\n" msgstr "Kan inte allokera tillrckligt minne fr konfigurationen\n" msgid "Cant get version from: \"proftpd -v\"\n" msgstr "Kan inte f version frn: \"proftpd -v\"\n" msgid "ProFTPD must be installed and be in your path.\n" msgstr "ProFTPD mste vara installerat och i din skvg.\n" #, c-format msgid "Proftpd version: %s" msgstr "Proftpd version: %s" #, c-format msgid "GProftpd version: %s" msgstr "GProftpd version: %s" msgid "No version found" msgstr "Ingen version funnen" msgid "Servername" msgstr "Servernamn" msgid "Server type" msgstr "Servertyp" msgid "Cant open shells for reading here:\n" msgstr "Kan inte ppna shells fr lsning hr:\n" msgid "Cant open shells for writing /bin/false here:\n" msgstr "Kan inte ppna shells fr att skriva /bin/false hr:\n" msgid "Couldnt find ftpusers here:\n" msgstr "Kunde inte hitta ftpusers hr:\n" msgid "" "\n" "so GProftpd made that file and added all users\n" msgstr "\ns GProFTPD skapade den filen och lade till alla anvndare\n" msgid "on the system to it. They are now banned from using the ftp server\n" msgstr "p systemet i den. Dom r nu bannade frn att anvnda ftpservern\n" msgid "This in an auto-security feature.\n" msgstr "Det hr r en auto-skerhets finess.\n" msgid "You must specify a username.\n" msgstr "Du mste specificera ett anvndarnamn\n" msgid "Usernames are not allowed to begin with a number.\n" msgstr "Anvndarnamn fr inte brja med ett nummer.\n" msgid "Refusing to add user root.\n" msgstr "Vgrar lgga till anvndaren root.\n" msgid "A username containing < or > is not allowed.\n" msgstr "Ett anvndarnamn som innehller < eller > r inte tilltet.\n" msgid "The minimum password length is 6 chars.\n" msgstr "Den minimala lsenordslngden r 6 tecken.\n" msgid "The minimum shell length is 3 chars.\n" msgstr "Den mimimala skal lngden r 3 tecken.\n" msgid "Mimimum directory path length is 1 char.\n" msgstr "Den mimimala kataloglngden r 1 tecken.\n" msgid "Error reading configuration:\n" msgstr "Fel vid lsning av konfigurationen:\n" msgid "" "\n" "Run gproftpd as root, not installed correctly ?.\n" msgstr "\nKr gproftpd som root, inte korrekt installerad ?.\n" msgid "That user already exists in this server in proftpd.conf.\n" msgstr "Den anvndaren finns redan i den hr servern i proftpd.conf.\n" msgid "Nothing was changed.\n" msgstr "Inget blev ndrat.\n" msgid "Error adding the fake user with this command:\n" msgstr "Fel vid skapande av anvndaren med fljande kommando:\n" msgid "" "\n" "add it in a terminal\n" msgstr "\nlgg till den i ett terminalfnster\n" msgid "Error adding the fake darwin user, add it manually.\n" msgstr "Fel vid skapande av den falska darwin anvndaren, lgg till den manuellt.\n" msgid "Error adding the real user with this command:\n" msgstr "Fel vid skapande av den riktiga anvndaren med fljande kommando:\n" msgid "The system user was not added because uppercase\n" msgstr "Systemanvndaren lades inte till fr att stora\n" msgid "or language specific letters arent allowed.\n" msgstr "eller sprkspecifika bokstver inte tillts.\n" msgid "Could not read AllowUser here:\n" msgstr "Kunde inte lsa AllowUser hr:\n" msgid "" "\n" "Run gproftpd as root\n" msgstr "\nKr gproftpd som root\n" msgid "Could not write the new userinformation to:\n" msgstr "Kunde inte skriva den nya anvndarinformationen till:\n" msgid "Manually delete that user,\n" msgstr "Ta bort den anvndaren manuellt,\n" msgid "could not delete it.\n" msgstr "kunde inte ta bort den.\n" msgid "Cant delete a user of zero length.\n" msgstr "Kan inte ta bort en anvndare med lngd 0.\n" msgid "Refusing to delete user root.\n" msgstr "Vgrar ta bort root anvndaren.\n" msgid "Cant open the configuration:\n" msgstr "Kan inte ppna konfigurationen:\n" msgid "Could not find the specified server\n" msgstr "Kunde inte hitta den specificerade servern\n" msgid "Try reselecting the server by doubleclicking on it.\n" msgstr "Prova med att vlja en server genom att dubbelklicka p den.\n" msgid "Error reading the configuration here:\n" msgstr "Fel vid lsning av konfigurationen hr:\n" #, c-format msgid "The user could not be found, this is a bug or %s has errors.\n" msgstr "Anvndaren kunde inte hittas, det hr r en bugg eller s r det fel i %s\n" msgid "Run the configuration checker to find out if there are any problems.\n" msgstr "Kr konfigurations kollaren fr att se om det r ngra problem.\n" msgid "" "\n" "The minimum password length is 6 chars.\n" msgstr "\nMinsta lsenordslngden r 6 tecken.\n" msgid "" "\n" "The Password was changed.\n" msgstr "\nLsenordet har ndrats.\n" msgid "The user didnt exist in shadow or passwd.\n" msgstr "Anvndaren fanns inte i shadow eller passwd.\n" msgid "" "\n" "Cant open proftpd.conf\n" msgstr "\nKan inte ppna proftpd.conf\n" msgid "" "If there are no complaints the configuration is ok...\n" "\n" msgstr "Om det inte finns ngra klagoml s r konfigurationen ok...\n" msgid "" "\n" "Check completed." msgstr "\nKontrollen r slutfrd." #, c-format msgid "" "Cant write to proftpd.conf here: \n" "%s\n" msgstr "Kan inte skriva till proftpd.conf hr: %s\n" msgid "You must specify a username or process number.\n" msgstr "Du mste specificera ett anvndarnamn eller processnummer.\n" msgid "popen error, user not kicked\n" msgstr "Popen fel, anvndaren blev inte sparkad\n" msgid "User or pid not found.\n" msgstr "Anvndare eller pid kunde inte hittas.\n" msgid "popen error, user not kicked or banned.\n" msgstr "popen fel, anvndaren blev inte kickad eller bannad.\n" #, c-format msgid "" "The user was not banned, could not write to:\n" "%s" msgstr "Anvndaren blev inte bannad, kunde inte skriva till:\n %s" msgid "Cant ban a non active user by PID.\n" msgstr "Kan inte banna en anvndare som inte r aktiv via PID\n" msgid "Misspelled maybe ?\n" msgstr "Felstavat kanske ?\n" msgid "The user was already banned.\n" msgstr "Anvndaren var redan bannad.\n" msgid "The user was not currently in the ftp.\n" msgstr "Anvndaren r inte i ftpn fr nrvarande\n" msgid "The user was banned but not kicked.\n" msgstr "Anvndaren blev bannad men inte kickad.\n" msgid "The user was kicked and banned.\n" msgstr "Anvndaren blev kickad och bannad.\n" msgid "Welcome message generation failed" msgstr "Fel vid skapande av vlkomstmeddelande" msgid "No xferlog records found or popen failed\n" msgstr "Inga xferlog meddelanden funna eller s misslykades popen\n" msgid "Every certificate field must be filled in\n" msgstr "Alla certifikatsflt mste vara ifyllda.\n" msgid "This step can take a while" msgstr "Det hr steget kan ta lite tid" msgid "The certificate has been created successfully\n" msgstr "Certifikatet har skapats felfritt\n" msgid "and placed in the correct location.\n" msgstr "och placerats p rtt stlle.\n" msgid "It will be used by new FTP-TLS logins.\n" msgstr "Det kommer att anvndas av nya FTP-TLS inloggningar.\n" msgid "The certificate has not been created, something went wrong.\n" msgstr "Certifikatet har inte skapats, ngot blev fel.\n" msgid "Cant open proftpd.conf for writing here:\n" msgstr "Kan inte ppna proftpd.conf fr skrivning hr:\n" msgid "Cant allocate enough memory for adding a new server\n" msgstr "Kan inte allokera tillrckligt minne fr att lgga till en ny server.\n" msgid "The standard server can not be deleted.\n" msgstr "Standardservern kan inte tas bort.\n" msgid "Setting a servers port to 0 disables it.\n" msgstr "Om man stter en servers port till 0 s anvnds den inte.\n" msgid "Refusing to delete a server without a specified name.\n" msgstr "Vgrar att ta bort en server utan specificerat namn.\n" msgid "Refusing to delete a server without a specified port.\n" msgstr "Vgrar att ta bort en server utan specificerad port.\n" msgid "Cant open the proftpd.conf here:\n" msgstr "Kan inte ppna proftpd.conf hr:\n" msgid "Could not delete the specified server\n" msgstr "Kunde inte ta bort den specifierade servern\n" msgid "Refusing to change a server without a specified name.\n" msgstr "Vgrar att byta server utan specificerat namn.\n" msgid "Refusing to change a server without a specified port.\n" msgstr "Vgrar att byta server utan specificerad port.\n" msgid "Cant open proftpd.conf here:\n" msgstr "Kan inte ppna proftpd.conf hr:\n" msgid "Could not find the specified server, no changes where made.\n" msgstr "Kunde inte hitta den specifierade servern, inga ndringar blev gjorda.\n" msgid "GProftpd help" msgstr "GProftpd hjlp" msgid "" "\n" "When gproftpd is started it checks if you have all required files and that " "the environment is ok.\n" "\n" msgstr "" "\n" "Nr GProftpd frst startas s kontrollerar den att allt r som det ska.\n" "\n" msgid "" "If you have just upgraded you should check out the homepage if any additions " "to the configuration are\n" msgstr "Om du jusst uppgraderat s br du ta en titt p hemsidan fr att se om " "ngra tillgg till konfigurationen r\n" msgid "" "necessary in order to take full advantage of all its features.\n" "\n" msgstr "" "ndvndiga fr att utnyttja alla instllningar.\n" "\n" msgid "" "Proftpd must be installed and located somewhere in the environments path " "variable\n" "\n" "\n" msgstr "" "Proftpd mste vara installerad och finnas ngonstans i miljns skvgsvariabel\n" "\n" "\n" msgid "" "When you add a user you can randomize its name and password or use your " "own.\n" msgstr "" "Nr du lgger till en anvndare s kan du randomisera dess namn och lsenord " "eller anvnda ett eget.\n" msgid "" "You can also select its login shell and where this user should have its root " "directory and upload directory.\n" msgstr "" "Du kan ocks vlja anvndarens loginskal och vart den anvndaren ska ha sin " "rotkatalog och uppladdningskatalog.\n" msgid "" "If the selected shell is /bin/false, /sbin/nologin etc the user can only " "login to this ftpserver otherwise\n" msgstr "" "Om det valda skalet r /bin/false, /sbin/nologin etc s kan anvndaren bara " "logga in p den hr servern annars\n" msgid "" "that user gets a private home directory as well as its ftp directory and can " "login via ssh etc if that server\n" msgstr "" "fr den anvndaren en privat hemkatalog och en ftpkatalog och kan " "logga in via ssh etc om den servern\n" msgid "" "allows this user to do so.\n" "\n" msgstr "" "tillter den hr anvndaren att gra det.\n" msgid "The upload directory must be located below the users root directory.\n" msgstr "" "Uppladdningskatalogen mste vara under anvndarens rotkatalog.\n" msgid "" "If you dont want that user to have an upload directory you can uncheck the " "checkbox next to it.\n" "\n" msgstr "" "Om du inte vill att den anvndaren ska ha en uppladdningskatalog s kan du kryssa ur " "kryssrutan bredvid den.\n" "\n" msgid "" "If you want to add directories thats not under the users root directory you " "can do this:\n" "\n" msgstr "" "Om du vill lgga till kataloger som inte finns under anvndarens rotkatalog " "s kan du gra fljande:\n" "\n" msgid "Linux (as of kernel 2.4.0):\n" msgstr "" "Linux (frn kernel 2.4.0):\n" msgid "" "mount --bind /some/directory/to/share /home/ftp/make_this_directory_first\n" "\n" msgstr "" "mount --bind /ngon/katalog/att/dela /home/ftp/skapa_den_hr_katalogen_frst\n" "\n" msgid "" "Alternatively:\n" "mount -o bind /var/data /home/ftp/bob/data\n" "\n" msgstr "" "Alternativt:\n" "mount -o bind /var/data /home/ftp/robert/data\n" "\n" msgid "" "*BSD (as of 4.4BSD):\n" "mount_null /var/data /home/ftp/bob/data\n" "\n" msgstr "" "*BSD (frn 4.4BSD):\n" "mount_null /var/data /home/ftp/robert/data\n" msgid "" "Solaris:\n" "mount -F lofs /var/data /home/ftp/bob/data\n" "\n" msgstr "" "Solaris:\n" "mount -F lofs /var/data /home/ftp/robert/data\n" "\n" msgid "" "If you want automatically generated statistics you can use gprostats with " "crond\n" msgstr "" "Om du vill ha automatiskt genererad statistik s kan du anvnda gprostats med " "crond\n" msgid "" "or press the welcome and html statistics buttons in the files tab to make " "them once.\n" "\n" msgstr "" "Eller trycka p vlkommen och html statistik knapparna i fil fliken fr att skapa " "dom en gng.\n" "\n" msgid "" "With crond and gprostats you can do this to have it automatically update the " "statistics:\n" msgstr "" "Med crond och gprostats s kan du gra fljande fr att f automatiskt uppdaterad " "statistik:\n" msgid "" "gprostats -html /path/to/output.html\n" "gprostats -w welcome.msg\n" msgstr "" "gprostats -html /skvg/till/utfil.html\n" "gprostats -w welcome.msg\n" msgid "" "or both at the same time: gprostats -html /path/to/output.html -w welcome." "msg\n" msgstr "" "eller bda samtidigt: gprostats -html /skvg/till/utfil.html -w welcome.msg\n" msgid "" "Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to.\n" "\n" msgstr "" "Anvnd -c /skvg/till/proftpd.conf -x /skvg/till/xferlog om du behver.\n" msgid "" "If you have made customized welcome messages and dont want them overwritten\n" msgstr "" "Om du har gjort speciella vlkomstmeddelanden och inte vill att dom ska skrivas ver\n" msgid "" "by gprostats you can configure this by doubleclicking a user and unchecking " "update statistics.\n" msgstr "" "av gprostats s kan du konfigurera det genom att dubbelklicka p en anvndare och kryssa ur " "uppdatea statistik.\n" msgid "" "then pressing the change button, this will also exclude the user from the " "html output.\n" "\n" msgstr "" "och sedan trycka p ndra knappen, det kommer ocks att exkludera anvndaren ifrn " "html statistiken.\n" "\n" msgid "" "Some typical setups:\n" "\n" "If one or more of your users needs to have upload access to a http servers " "directory:\n" "\n" msgstr "" "Ngra typiska uppsttningar:\n" "\n" "Om en eller flera anvndare behver kunna ladda upp till en http servers " "katalog:\n" "\n" msgid "" "1. Set the users ftp root directory to the webserver's root directory /var/" "www/html\n" msgstr "" "1. Stt anvndarens ftp rotkatalog till webbserverns rotkatalog /var/" "www/html\n" msgid "" " or /var/www/html/this_users_directory for a private homepage.\n" "\n" msgstr "" " eller /var/www/html/den/hr/anvndarens/katalog fr en privat hemsida.\n" msgid "" "2. Take away all text from the upload directory field\n" "\n" msgstr "" "2. Ta bort all text ifrn uppladdningskatalogens textflt\n" "\n" msgid "3. Make sure the checkbutton next to the upload directory is checked.\n" msgstr "" "3. Kolla att kryssrutan bredvid uppladdningskatalogen r ikryssad.\n" msgid "" " Press the add button to add this user.\n" "\n" msgstr "" " Tryck p lgg till knappen fr att lgga till den hr anvndaren.\n" "\n" msgid "" "4. You can now login as this user and upload to the html directory.\n" "\n" "\n" msgstr "" "4. Du kan nu logga in som den hr anvndaren och ladda upp till html katalogen.\n" "\n" "\n" msgid "" "To add anonymous readonly access to a directory you can do this:\n" "\n" msgstr "" "Fr att lgga till anonym endast lsbar tillgng till en katalog s kan du gra fljande:\n" "\n" msgid "1. Type anonymous in the username field. \n" msgstr "" "1. Skriv anonymous i anvndarnamnsfltet. \n" "\n" msgid "" " Press the password randomize button or type any password you want.\n" msgstr "" " Tryck p lsenords-randomiserings-knappen eller skriv vilket lenord du vill.\n" msgid " Select the /bin/false shell.\n" msgstr "" " Vlj /bin/false som skal.\n" msgid " Uncheck the upload checkbutton, this is important.\n" msgstr "" " Kryssa ur uppladdnings-kryssknappen, det hr r viktigt.\n" msgid "" " Press add to add this anonymous user.\n" "\n" msgstr "" " Tryck lgg till fr att lgga till den hr anonyma anvndaren.\n" "\n" msgid "" "2. Doubleclick that user in the users tab and set require password to off " "then\n" msgstr "" "2. Dubbelklicka p den anvndaren i anvndarfliken och stt krv lsenord till av " "kolla\n" msgid "" " check that this user isnt banned then press the change button.\n" "\n" msgstr "" " sedan att den hr anvndaren inte r bannad tryck sedan p ndra knappen.\n " "\n" msgid "" "4. You can now login as anonymous with no password.\n" "\n" "\n" msgstr "" "4. Du kan nu logga in som anonymous utan lsenord.\n" "\n" "\n" msgid "" "This is the default setting, one upload directory and a readonly ftp root " "directory:\n" msgstr "" "Det hr r standardinstllningen, en uppladdningskatalog och en endast lsbar ftp " "rotkatalog:\n" msgid "Root directory: /home/ftp\n" msgstr "" "Rotkatalog: /home/ftp\n" msgid "" "Upload directory /home/ftp/upload\n" "\n" msgstr "" "Uppladdningskatalog /home/ftp/upload\n" "\n" msgid "" "The users can then upload files in the upload directory and download from " "the\n" msgstr "" "Anvndarna kan d ladda upp filer i uppladdningskatalogen och ladda hem frn\n" msgid "" "ftp root directory where you can put what you want to share.\n" "\n" msgstr "" "ftp-rotkatalogen dr du kan lgga det du vill dela ut.\n" msgid "" "You can easily add more servers to run on different interfaces and ports.\n" msgstr "" "Du kan enkelt lgga till fler servrar som kan kras p andra kort och portar.\n" msgid "" "When a user connects to one address and port it gets access according to " "that servers\n" msgstr "" "Nr en anvndare ansluter till en address och port s fr den tilltde enligt hur " "den serverns\n" msgid "" "configuration but only if the server is selected to bind to addresses.\n" msgstr "" "konfiguration men bara om servern r satt att binda till addresser.\n" msgid "" "There are two directives used for this:\n" "Bind and SocketBindTight.\n" msgstr "" "Det finns tv direktiv som anvnds fr detta:\n" "Bind och SocketBindTight.\n" msgid "" "If you want to turn off a server without deleting it you can set its port " "value to 0\n" "\n" msgstr "" "Om du vill stnga av en server utan att ta bort dn s kan du stta portens " "vrde till 0\n" "\n" msgid "" "If this Proftpd server is behind a NAT gateway you should specify the " "gateways\n" msgstr "" "Om den hr servern r bakom en NAT gateway s br du specificera " "gatewayens\n" msgid "" "DNS name or IP address otherwise turn it off.\n" "\n" msgstr "" "DNS-namn eller IP-address annars br du stnga av det.\n" msgid "" "If you copy or move a file directly to the ftpservers directory you may need " "to\n" msgstr "" "Om du kopierar eller flyttar en fil direkt till ftp-serverns katalog s kanske " "du behver\n" msgid "" "chmod it with 644 and chmod directories to 755 so that the directory and " "file can be accessed.\n" "\n" msgstr "" "chmodda den till 644 och chmodda kataloger till 755 s att katalogen och " "filen kan kommas t.\n" "\n" msgid "" "This is one way of chmodding all files recursively in the directory /home/" "ftp:\n" msgstr "" "Det hr r ett stt att chmodda alla filer rekursivt i katalogen /home/" "ftp:\n" msgid "" "find /home/ftp -type f -exec chmod 644 -v {} \\;\n" "\n" msgstr "" "find /home/ftp -type f -exec chmod 644 -v {} \\;\n" "\n" msgid "" "Upload directories should have a chmod of 777 and this can be used for /home/" "ftp/upload\n" msgstr "" "Uppladdningskataloger br ha chmod 777 och det kan anvndas till /home/" "ftp/upload\n" msgid "" "find /home/ftp/upload -type d -exec chmod 777 -v {} \\;\n" "\n" "\n" msgstr "" "find /home/ftp/upload -type d -exec chmod 777 -v {} \\;\n" "\n" "\n" msgid "" "For more detailed information about the server and its configuration " "directives visit:\n" msgstr "" "Fr mera detaljerad information om servern och dess konfigurationsdirektiv " "besk:\n" msgid "http://www.proftpd.org\n" msgstr "http://www.proftpd.org\n" msgid "Close" msgstr "Stng" msgid "Shutdown" msgstr "Stng ner" msgid "The server will shut down according to these settings." msgstr "Servern kommer att stngas ner enligt dom hr instllningarna." msgid "Time to real shutdown:" msgstr "Tid till riktig nedstngning:" msgid "now, +Minutes or HHMM" msgstr "now, +Minuter eller HHMM" msgid "New access disabled:" msgstr "Nya anslutningar frhindrade:" msgid "Minutes before real shutdown." msgstr "Minuter fre riktig nedstngning." msgid "Existing users disconnected:" msgstr "Existerande anvndare avstngda." msgid "Shutdown message:" msgstr "Nedstngningsmeddelande." #, c-format msgid "%s , Current connections will be dropped: %d" msgstr "%s , Nuvarande anslutningar kommer att stngas: %d" msgid "Pressing the online button will let users login again." msgstr "Tryck p aktivera knappen fr att slppa in anvndare igen." msgid "Cancel" msgstr "Avbryt" msgid "OK" msgstr "OK" msgid "GProFTPD information" msgstr "GProFTPD information" msgid "User settings" msgstr "Anvndarinstllningar" msgid "These are the settings for this user." msgstr "Det hr r den hr anvndarens instllningar." msgid "Username: " msgstr "Anvndarnamn:" msgid "Password: " msgstr "Lsenord:" msgid "Group: " msgstr "Grupp:" msgid "Require password:" msgstr "Krv lsenord:" msgid "Allow logins from:" msgstr "Tillt inloggningar ifrn:" msgid "Maximum logins: " msgstr "Maximalt antal inloggningar: " msgid "Message: " msgstr "Meddelande: " msgid "Root directory: " msgstr "Rotkatalog: " msgid "Update statistics:" msgstr "Uppdatera statistik:" msgid "Banned:" msgstr "Bannad:" msgid "Type a password longer then 6 chars to change." msgstr "Skriv ett lsenord som r lngre n 6 bokstver fr att byta." msgid "all,none,192.168.0.,host.domain.edu,.trusted-domain.org" msgstr "all,none,192.168.0.vrd.domn.se,.plitlig-domn.org" msgid "Upload directory:" msgstr "Uppladdningskatalog:" msgid "This user is permitted to do the following in this directory:" msgstr "Den hr anvndaren fr gra fljande i den hr katalogen:" msgid "List:" msgstr "Lista:" msgid "Upload:" msgstr "Uppladdning:" msgid "Append:" msgstr "Lgga till:" msgid "Download:" msgstr "Nerladdning:" msgid "Rename:" msgstr "Byta namn:" msgid "Delete:" msgstr "Ta bort:" msgid "Create directory:" msgstr "Skapa katalog:" msgid "Remove directory:" msgstr "Ta bort katalog:" msgid "Site:" msgstr "Site:" msgid "Show dates:" msgstr "Visa datum:" msgid "Show current path:" msgstr "Visa nuvarande skvg:" msgid "Show filesize:" msgstr "Visa filstorlekar:" msgid "Change working directory:" msgstr "Byta katalog:" msgid "Change mode:" msgstr "Byta chmod:" msgid "Change group:" msgstr "Byta grupp:" msgid "Cdup:" msgstr "CD upp:" msgid "Show connection settings:" msgstr "Visa anslutnings instllningar:" msgid "Delete" msgstr "Ta bort" msgid "Change" msgstr "ndra" msgid "About" msgstr "Om" msgid "Author: " msgstr "Frfattare: " msgid "I want to thank the following for their contributions:" msgstr "Jag vill tacka fljande fr deras bidrag:" msgid "for the icons and the weblogo.\n" msgstr "fr ikonerna och weblogon.\n" msgid "for coding support and testing.\n" msgstr "fr kodningshjlp och testning.\n" msgid "The people at the GTK+ development lists.\n" msgstr "Folket p GTK+ utvecklingslistorna.\n" msgid "for the RPM spec file." msgstr "fr RPM specfilen." msgid "And all translators:" msgstr "Och alla versttare:" msgid "Afrikaans" msgstr "Afrikanska" msgid "Amharic" msgstr "Amharik" msgid "Arabic" msgstr "Arabiska" msgid "Azerbaijani" msgstr "Azerbajani" msgid "Basque" msgstr "Baskiska" msgid "Bulgarian" msgstr "Bulgariska" msgid "Breton" msgstr "Breton" msgid "Brittish-English" msgstr "Brittisk Engelska" msgid "Bosnian" msgstr "Bosniska" msgid "Byelorussian" msgstr "Vitryska" msgid "Catalan" msgstr "Katalanska" msgid "Chinese" msgstr "Kinesiska" msgid "Chinese-Taiwan" msgstr "Kinesisk-Taiwanska" msgid "Croatian" msgstr "Kroatiska" msgid "Czech" msgstr "Tjeckiska" msgid "Danish" msgstr "Danska" msgid "Dutch" msgstr "Hollndska" msgid "Esperanto" msgstr "Esperanto" msgid "Estonian" msgstr "Estiska" msgid "Finnish" msgstr "Finska" msgid "French" msgstr "Franska" msgid "Galician" msgstr "Galicianska" msgid "German" msgstr "Tyska" msgid "Greek" msgstr "Grekiska" msgid "Hebrew" msgstr "Hebreiska" msgid "Hini" msgstr "Hindu" msgid "Hungarian" msgstr "Belgiska" msgid "Icelandic" msgstr "Islndska" msgid "Indonesian" msgstr "Indonesiska" msgid "Irish" msgstr "Irlndska" msgid "Italian" msgstr "Italienska" msgid "Japanese" msgstr "Japanska" msgid "Korean" msgstr "Koreanska" msgid "Kurdish" msgstr "Kurdiska" msgid "Latvian-Lettish" msgstr "Lettiska" msgid "Lithuanian" msgstr "Lettauiska" msgid "Macedonian" msgstr "Makedonska" msgid "Maori" msgstr "Mauri" msgid "Maltese" msgstr "Maltesiska" msgid "Norwegian" msgstr "Norska" msgid "Polish" msgstr "Polska" msgid "Portuguese" msgstr "Portugisiska" msgid "Portuguese-Brazil" msgstr "Portugisisk-Brasilianska" msgid "Romanian" msgstr "Rumnska" msgid "Russian" msgstr "Ryska" msgid "Serbian" msgstr "Serbiska" msgid "Slovak" msgstr "Slovakiska" msgid "Slovenian" msgstr "Slovenska" msgid "Spanish" msgstr "Spanska" msgid "Swedish" msgstr "Svenska" msgid "Tamil" msgstr "Tamilska" msgid "Thai" msgstr "Taiwanesiska" msgid "Turkish" msgstr "Turkiska" msgid "Traditional Chinese" msgstr "Traditionell kinesiska" msgid "Ukrainian" msgstr "Ukrainska" msgid "Vietnamese" msgstr "Vietnamesiska" msgid "Wallon" msgstr "Vallonska" msgid "Welch" msgstr "Skottska" msgid "And a big thanks to the Proftpd team.\n" msgstr "Och ett stort tack till Proftpd teamet.\n" msgid "Choose the users root directory" msgstr "Vlj anvndarens rotkatalog" msgid "Choose an upload directory (must be below the users directory)" msgstr "Vlj en uppladdningskatalog (mste vara under anvndarens rotkatalog)" msgid "GProftpd question" msgstr "GProftpd frga" msgid "" "GProftpd could not find proftpd.conf or you are using\n" "the basic configuration wich doesnt have all features\n" "that gproftpd's default configuration has.\n" "\n" "If you use proftpd's default configuration and dont\n" "want to see this question again, take away the line:\n" "# Port 21 is the standard ftp port.\n" "\n" "Do you want to overwrite proftpd.conf with GProftpd's\n" "default configuration ?\n" "\n" " (If you dont know then press yes)\n" msgstr "GProftpd kunde inte hitta proftpd.conf eller s anvnder\n" "du standardkonfigurationen som inte har alla finesser\n" "som gproftpd's konfiguration har.\n" "\n" "Om du vill anvnda proftpd's standardkonfiguration och inte\n" "vill se den hr frgan igen s ta bort raden:\n" "# Port 21 is the standard ftp port.\n" "\n" "Do you want to overwrite proftpd.conf with GProftpd's\n" "standardkonfiguration ?\n" " (Om du inte vet s tyck ja)\n" msgid "Yes" msgstr "Ja" msgid "No" msgstr "Nej" msgid "GProFTPD Password" msgstr "GProFTPD lsenord" msgid "This user already existed in the system." msgstr "Den hr anvndaren existerade redan i systemet." msgid "Username:" msgstr "Anvndarnamn:" msgid "New password: " msgstr "Nytt lsenord: " msgid "Do you want to change the users password ?" msgstr "Vill du byta anvndarens lsenord ?" msgid "Dont change" msgstr "Byt inte" msgid "Delete the system user ?" msgstr "Ta bort systemanvndaren ?" msgid "Do you also want to delete the system user ?" msgstr "Vill du ven ta bort systemanvndaren ?" msgid "Username: " msgstr "Anvndarnamn: " msgid "Add this needed master ftpuser ?" msgstr "Lgg till den hr ndvndiga huvud-ftpanvndaren ?" msgid "GProftpd needs to add the user and group the server will runs as." msgstr "GProftpd behver lgga till anvndaren och gruppen som servern kommer att kras under." msgid "User and groupname:" msgstr "Anvndare och gruppnamn:" msgid "This action is necessary, do you want to do it ?" msgstr "Den hr tgrden r ndvndig, vill du gra den ?" msgid " Online " msgstr "Aktivera" msgid " Offline " msgstr " Inaktivera " msgid " Shutdown " msgstr " Stng ner " msgid " ReRead " msgstr " Ls om " msgid " Help " msgstr " Hjlp " #msgid " Credits " #msgstr " Om " msgid " About " msgstr " Om " msgid " Quit " msgstr " Avsluta " msgid "Information:" msgstr "Information:" msgid "proftpd -v failed." msgstr "proftpd -v misslyckades." msgid "The server is currently:" msgstr "Servern r fr nrvarande:" msgid "Cant determine." msgstr "Kan inte avgra" msgid "This is the configuration for the currently selected server." msgstr "Det hr r konfigurationen fr den fr nrvarande valda servern." msgid "Add Server" msgstr "Lgg till server" msgid "Delete server" msgstr "Ta bort server" msgid "Apply" msgstr "Verkstll" msgid "DNS name or ip address of the server:" msgstr "Serverns DNS-namn eller IP-address:" msgid "Show alternate server identity:" msgstr "Visa alternativ server identitet:" msgid "NAT gateway address:" msgstr "NAT gateway address:" msgid "The administrators email address:" msgstr "Administratrens emailaddress:" msgid "To listen on all interfaces 0.0.0.0 can be used" msgstr "Fr att lyssna p alla kort kan 0.0.0.0 anvndas" msgid "Only use this if you are behind a NAT gateway" msgstr "Anvnd bara den hr om du r bakom en NAT gateway" msgid "Bind servers to their addresses:" msgstr "Bind servrar till deras addresser:" msgid "Identity lookups:" msgstr "Identitetsuppslagningar:" msgid "Reverse lookups:" msgstr "Baklngesuppslagningar:" msgid "Timestandard:" msgstr "Tidsstandard:" msgid "The port the server listens on:" msgstr "Porten som servern lyssnar p:" msgid "Passive ports range:" msgstr "Passivt portsintervall:" msgid "Maximum connections for each server:" msgstr "Max anslutningar fr varje server:" msgid "Max login attempts before disconnected:" msgstr "Max inloggningsfrsk innan avstngd:" msgid "Login timeout:" msgstr "Inloggningstimeout:" msgid "Idle timeout:" msgstr "Idle timeout:" msgid "Randomized username length:" msgstr "Randomiserad anvndarnamnslngd:" msgid "Randomized password length:" msgstr "Randomiserad lsenordslngd:" msgid "Randomize to upper or lower case:" msgstr "Randomisera till stora eller sm bokstver:" msgid "Default transfermode:" msgstr "Standard verfringslge:" msgid "FXP transfers:" msgstr "FXP verfringar:" msgid "Off is local time" msgstr "Off r lokal tid" msgid "0 is offline" msgstr "0 r offline" msgid "Seconds" msgstr "Sekunder" msgid "Useradds default root directory path:" msgstr "Standard rotkatalog fr anvndare:" msgid "Useradds default upload directory:" msgstr "Standard uppladdningskatalog fr anvndare:" msgid "Statistics default html path:" msgstr "Statistikens standardskvg:" msgid "Statistics default welcome name:" msgstr "Statistikens standard vlkomstnamn:" msgid "The systems logfile:" msgstr "Systemets loggfil:" msgid "The server runs as this user:" msgstr "Servern krs som den hr anvndaren:" msgid "The server runs as this group:" msgstr "Servern krs som den hr gruppen:" msgid "This fake user owns all files:" msgstr "Den hr falska anvndaren ger alla filer:" msgid "This fake group owns all files:" msgstr "Den hr falska gruppen ger alla filer:" msgid "Upload settings:" msgstr "Uppladdningsinstllningar:" msgid "Upload bandwidth:" msgstr "Uppladdningshastighet:" msgid "Resume broken uploads:" msgstr "teruppta trasiga uppladdningar:" msgid "Automatically delete aborted uploads:" msgstr "Ta automatiskt bort avbrutna uppladdningar:" msgid "KB/Sec" msgstr "KB/Sec" msgid "Download settings:" msgstr "Nerladdningsinstllningar:" msgid "Download bandwidth:" msgstr "Nerladdningshastighet:" msgid "Resume broken downloads:" msgstr "teruppta trasiga nerladdningar:" msgid "KB/sec" msgstr "KB/Sec" msgid "FTP-TLS secure communications:" msgstr "FTP-TLS sker kommunikation:" msgid "Use FTP-TLS:" msgstr "Anvnd FTP-TLS:" msgid "Require encrytion on channels:" msgstr "Krv kryptering p kanaler:" msgid "Verify clients:" msgstr "Verifiera klienter:" msgid "Use these protocols:" msgstr "Anvnd dom hr protokollen:" msgid "TLS Logfile" msgstr "TLS logfil" msgid "RSA certificate file:" msgstr "RSA certifikats fil:" msgid "Create a new selfsigned certificate:" msgstr "Skapa ett nytt sjlvsignerat certifikat:" msgid "DNS name or IP-address of this server:" msgstr "Den hr serverns DNS-namn eller IP-address:" msgid "Email address:" msgstr "Email address:" msgid "State or province:" msgstr "Stat eller provins:" msgid "City or town:" msgstr "Stad eller statsdel:" msgid "Organization:" msgstr "Organisation:" msgid "Organizational unit:" msgstr "Organisationsenhet:" msgid "Password:" msgstr "Lsenord:" msgid "Challenge password:" msgstr "Utmaningslsenord:" msgid "Number of bits:" msgstr "Antal bitar:" msgid "Number of days the certificate is valid:" msgstr "Antal dagar certifikatet r giltigt:" msgid "Countrycode IE: SV, DK, US etc:" msgstr "Landskod tex: SV, DK, US etc:" msgid "Generate certificate:" msgstr "Generera certifikat:" msgid "Generate" msgstr "Generera" msgid "Servers" msgstr "Servrar" msgid "Add delete or make changes to users in the currently selected server." msgstr "Lgg till eller ndra anvndare i den fr nrvarande valda servern." msgid "Make a random username" msgstr "Skapa ett randomiserat anvndarnamn" msgid "Select the users root directory" msgstr "Vlj anvndarens rotkatalog" msgid "Root directory:" msgstr "Rotkatalog:" msgid "Make a random password" msgstr "Skapa ett randomiserat lsenord" msgid "Select an upload directory below the users root directory" msgstr "Vlj en uppladdningskatalog under anvndarens rotkatalog" msgid "Shell: " msgstr "Skal: " msgid "Create this upload directory" msgstr "Skapa den hr uppladdningskatalogen" msgid "Add" msgstr "Lgg till" msgid "Doubleclick to make changes to a user" msgstr "Dubbelklicka fr att gra ndringar p en anvndare" msgid "Users" msgstr "Anvndare" msgid "Current usage, transferrates and terminating connections." msgstr "Nuvarande anvndning, verfringshastigheter och avbryta anslutningar." msgid "Total bandwidth: " msgstr "Total hastighet: " msgid "Total incoming: " msgstr "Totalt inkommande: " msgid " Total outgoing: " msgstr " Totalt utgende: " msgid "Username or PID:" msgstr "Anvndarnamn eller PID:" msgid "Kicks the first matching username or the matching process number" msgstr "Kickar det frsta matchande anvndarnamnet eller det matchande processnummret" msgid "Kick" msgstr "Kicka" msgid "Kickbans the first matching username or the matching process number" msgstr "Kickar och bannar det frsta matchande anvndarnamnet eller det matchande processnummret" msgid "Kickban" msgstr "Kicka och banna" msgid "Transfers" msgstr "verfringar" msgid "Information about mounted devices." msgstr "Information om monterade enheter." msgid "Update" msgstr "Uppdatera" msgid "Disk" msgstr "Disk" msgid "Transferred files and statistics generation." msgstr "verfrda filer och statistik skapande." msgid "Generate:" msgstr "Generera:" msgid "Welcome" msgstr "Vlkommen" msgid "Clear" msgstr "Rensa" msgid "Files" msgstr "Filer" msgid "This is the entire proftpd configuration." msgstr "Det hr r hela proftpd's konfiguration." msgid "Restore" msgstr "terstll" msgid "Backup" msgstr "Backa upp" msgid "Check syntax" msgstr "Kontrollera syntax" msgid "The server will not reread its configuration" msgstr "Servern kommer inte att lsa om sin konfiguration" msgid "Save" msgstr "Spara" msgid "Conf" msgstr "Konf" msgid "Server security information." msgstr "Serverns skerhetsinformation." msgid "Successful logins" msgstr "Lyckade inloggningar" msgid "Refused logins" msgstr "Nekade inloggningar" msgid "Security" msgstr "Skerhet" msgid "Select any users you want to import" msgstr "Vlj ngra anvndare som du vill importera" #, c-format msgid "Total number of imported users: %ld\n" msgstr "Totalt antal importerade anvndare: %ld\n" msgid "Import users to the currently selected server." msgstr "Importera anvndare till den fr nrvarande valda servern." msgid "All selected users will be imported with the following settings:" msgstr "Alla valda anvndare kommer att bli importerade med fljande instllningar:" msgid "The users will have this root directory:" msgstr "Anvndarna kommer att ha den hr rotkatalogen:" msgid "They will have username based directories under the root directory:" msgstr "Dom kommer att ha anvndarnamnsbaserade kataloger under rotkatalogen:" msgid "Add an upload directory under the root directory:" msgstr "Lgg till en uppladdningskatalog under rotkatalogen:" msgid "" "If you delete all text here and check the checkbutton then users will be " "able to upload directly in the root directory" msgstr "Om du tar bort all text hr och kryssar i kryss-knappen s kommer" "anvndarna att kunna ladda upp direkt i rotkatalogen" msgid "Import" msgstr "Importera" #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Kunde inte hitta bildfilen: %s" 0707010001dbd7000081ed00000002000000020000000140d0db4c00000451000000200000000000000000000000000000001b00000000reloc/po/translation_howto#!/bin/bash # Howto make a translation to your own language: # Change these to your countrycode and charcode COUNTRYCODE="sv" CHARCODE="iso-8859-1" # Run this first to make the initial template to be translated then # comment out this command. xgettext --no-location -k_:1 -kN_:1 -o gproftpd.pot ../src/*.c # Copy gproftpd.pot as yourlang.po in the current directory. # General information: # I translated "online" as "activate" for the button and "activated" for the server status. # Try to make the translated lines as long as the english lines # (on some places it might otherwise expand the application). # Now translate yourlang.po in UTF-8 with gedit or so # and set it to the right language, charcode and email (here and in the file) # (All the upper case names should be changed). # When its translated you should run this command on it (make a backup first). #iconv -f UTF-8 -t $CHARCODE $COUNTRYCODE.po -o langconv.po && mv langconv.po $COUNTRYCODE.po # Now add your language to ALL_LINGUAS="sv en dk" in configure.in then run autoconf. # Install it and check the result. 0707010001dbd8000041ed0000000000000001000000034175dc3a00000000000000200000000000000000000000000000000a00000000reloc/src0707010001dbd9000041ed0000000000000001000000024175dc3900000000000000200000000000000000000000000000001000000000reloc/src/.deps0707010001dbda000081a4000000020000000200000001417377e500006a3f000000200000000000000000000000000000001d00000000reloc/src/.deps/callbacks.Pocallbacks.o callbacks.o: callbacks.c ../config.h \ /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h callbacks.h functions.h \ import_functions.h import_window.h dialogs.h support.h \ /usr/include/libintl.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h \ /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h \ /usr/include/stdio_impl.h /usr/include/stdlib.h \ /usr/include/iso/stdlib_iso.h /usr/include/string.h \ /usr/include/iso/string_iso.h /usr/include/unistd.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h \ /usr/include/sys/machtypes.h /usr/include/sys/int_types.h \ /usr/include/sys/select.h /usr/include/sys/time.h /usr/include/time.h \ /usr/include/iso/time_iso.h /usr/include/sys/time_impl.h \ /usr/include/sys/unistd.h /usr/include/errno.h /usr/include/sys/errno.h \ /usr/include/sys/socket.h /usr/include/sys/uio.h \ /usr/include/sys/netconfig.h /usr/include/netinet/in.h \ /usr/include/sys/stream.h /usr/include/sys/vnode.h \ /usr/include/sys/t_lock.h /usr/include/sys/machlock.h \ /usr/include/v7/sys/privregs.h /usr/include/v7/sys/psr.h \ /usr/include/sys/fsr.h /usr/include/sys/param.h \ /usr/include/sys/mutex.h /usr/include/sys/rwlock.h \ /usr/include/sys/semaphore.h /usr/include/sys/condvar.h \ /usr/include/sys/rwstlock.h /usr/include/sys/ksynch.h \ /usr/include/sys/cred.h /usr/include/sys/resource.h \ /usr/include/vm/seg_enum.h /usr/include/sys/poll.h \ /usr/include/sys/strmdep.h /usr/include/sys/model.h \ /usr/include/sys/strft.h /usr/include/sys/byteorder.h \ /usr/include/sys/un.h /usr/include/net/if_dl.h /usr/include/sys/stat.h \ /usr/include/sys/stat_impl.h /usr/include/memory.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: callbacks.h: functions.h: import_functions.h: import_window.h: dialogs.h: support.h: /usr/include/libintl.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h: /usr/include/iso/stdio_iso.h: /usr/include/sys/va_list.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h: /usr/include/stdio_impl.h: /usr/include/stdlib.h: /usr/include/iso/stdlib_iso.h: /usr/include/string.h: /usr/include/iso/string_iso.h: /usr/include/unistd.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h: /usr/include/sys/machtypes.h: /usr/include/sys/int_types.h: /usr/include/sys/select.h: /usr/include/sys/time.h: /usr/include/time.h: /usr/include/iso/time_iso.h: /usr/include/sys/time_impl.h: /usr/include/sys/unistd.h: /usr/include/errno.h: /usr/include/sys/errno.h: /usr/include/sys/socket.h: /usr/include/sys/uio.h: /usr/include/sys/netconfig.h: /usr/include/netinet/in.h: /usr/include/sys/stream.h: /usr/include/sys/vnode.h: /usr/include/sys/t_lock.h: /usr/include/sys/machlock.h: /usr/include/v7/sys/privregs.h: /usr/include/v7/sys/psr.h: /usr/include/sys/fsr.h: /usr/include/sys/param.h: /usr/include/sys/mutex.h: /usr/include/sys/rwlock.h: /usr/include/sys/semaphore.h: /usr/include/sys/condvar.h: /usr/include/sys/rwstlock.h: /usr/include/sys/ksynch.h: /usr/include/sys/cred.h: /usr/include/sys/resource.h: /usr/include/vm/seg_enum.h: /usr/include/sys/poll.h: /usr/include/sys/strmdep.h: /usr/include/sys/model.h: /usr/include/sys/strft.h: /usr/include/sys/byteorder.h: /usr/include/sys/un.h: /usr/include/net/if_dl.h: /usr/include/sys/stat.h: /usr/include/sys/stat_impl.h: /usr/include/memory.h: 0707010001dbdb000081a40000000200000002000000014173776500005d7d000000200000000000000000000000000000001b00000000reloc/src/.deps/dialogs.Podialogs.o dialogs.o: dialogs.c ../config.h /usr/include/gtk-2.0/gtk/gtk.h \ /usr/include/gtk-2.0/gdk/gdk.h /usr/include/gtk-2.0/gdk/gdkcolor.h \ /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/glib-2.0/glib.h \ /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h callbacks.h dialogs.h \ support.h /usr/include/libintl.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: callbacks.h: dialogs.h: support.h: /usr/include/libintl.h: 0707010001dbdc000081a40000000200000002000000014173774300006337000000200000000000000000000000000000001d00000000reloc/src/.deps/functions.Pofunctions.o functions.o: functions.c ../config.h \ /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h dialogs.h support.h \ /usr/include/libintl.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h \ /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h \ /usr/include/stdio_impl.h /usr/include/stdlib.h \ /usr/include/iso/stdlib_iso.h /usr/include/string.h \ /usr/include/iso/string_iso.h /usr/include/unistd.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h \ /usr/include/sys/machtypes.h /usr/include/sys/int_types.h \ /usr/include/sys/select.h /usr/include/sys/time.h /usr/include/time.h \ /usr/include/iso/time_iso.h /usr/include/sys/time_impl.h \ /usr/include/sys/unistd.h /usr/include/memory.h functions.h \ /usr/include/crypt.h /usr/include/pwd.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: dialogs.h: support.h: /usr/include/libintl.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h: /usr/include/iso/stdio_iso.h: /usr/include/sys/va_list.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h: /usr/include/stdio_impl.h: /usr/include/stdlib.h: /usr/include/iso/stdlib_iso.h: /usr/include/string.h: /usr/include/iso/string_iso.h: /usr/include/unistd.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h: /usr/include/sys/machtypes.h: /usr/include/sys/int_types.h: /usr/include/sys/select.h: /usr/include/sys/time.h: /usr/include/time.h: /usr/include/iso/time_iso.h: /usr/include/sys/time_impl.h: /usr/include/sys/unistd.h: /usr/include/memory.h: functions.h: /usr/include/crypt.h: /usr/include/pwd.h: 0707010001dbdd000081a400000002000000020000000140b7debc00005976000000200000000000000000000000000000001d00000000reloc/src/.deps/gproftpd.pot# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: gproftpd 8.1.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-05-29 02:44+0200\n" "PO-Revision-Date: 2004-05-29 12:00+GMT\n" "Last-Translator: Magnus-swe \n" "Language-Team: sv \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" msgid "Error reading passwd here:\n" msgstr "" msgid "" "\n" "Not installed correctly ?.\n" msgstr "" msgid "Error reading group here:\n" msgstr "" #, c-format msgid "User: %s could not be found in passwd or shadow.\n" msgstr "" msgid "The user was not passworded.\n" msgstr "" #, c-format msgid "Error passwording user: %s\n" msgstr "" #, c-format msgid "Cant add the master ftpuser with this command: %s\n" msgstr "" #, c-format msgid "" "The user: %s\n" "has been added to your system with a /bin/false shell\n" "and put in ftpusers, it was not passworded.\n" msgstr "" #, c-format msgid "Cant add the master ftp group with this command: %s\n" msgstr "" #, c-format msgid "" "The group: %s\n" "has been added to your system.\n" msgstr "" msgid "Cant write to ftpusers here:\n" msgstr "" msgid "" "\n" "Run GProFTPD as root.\n" msgstr "" msgid "" "\n" "The server could not be turned off.\n" "\n" msgstr "" msgid "Do you have another server running on this port ?\n" msgstr "" msgid "This could be a server running from inetd/xinetd.\n" msgstr "" msgid "The server is offline.\n" msgstr "" msgid "List Server: Cant open proftpd.conf here:\n" msgstr "" #, c-format msgid "A line with over 8000 chars is not valid in: %s\n" msgstr "" msgid "User" msgstr "" msgid "Group" msgstr "" msgid "Homedirectory" msgstr "" msgid "Require password" msgstr "" msgid "Banned" msgstr "" msgid "Maximum connections" msgstr "" msgid "yes" msgstr "" msgid "no" msgstr "" msgid "Address" msgstr "" msgid "Port" msgstr "" msgid "Name" msgstr "" msgid "Type" msgstr "" msgid "list_servers: Could not allocate enough memory\n" msgstr "" #, c-format msgid "" "An entry in: %s\n" " is too long, please correct it.\n" msgstr "" msgid "Mounted on" msgstr "" msgid "Free space" msgstr "" msgid "Used space" msgstr "" msgid "Total space" msgstr "" msgid "Percent used" msgstr "" msgid "Device" msgstr "" msgid "Cant open the securitylog here:\n" msgstr "" msgid "Could not allocate enough memory to read:\n" msgstr "" msgid "Username" msgstr "" msgid "Action" msgstr "" msgid "Filename" msgstr "" msgid "Bytes" msgstr "" msgid "Start of transfer" msgstr "" msgid "Remote host" msgstr "" msgid "list_files: Could not allocate enough memory\n" msgstr "" #, c-format msgid "" "An entry in: %s\n" " is too long and has been shortened.\n" msgstr "" msgid "Alot of these extremely long filnames will decrease startup speed.\n" msgstr "" msgid "uploaded" msgstr "" msgid "downloaded" msgstr "" msgid "deleted" msgstr "" msgid "Cant write the new proftpd.conf here:\n" msgstr "" msgid "" "\n" "Run GProFTPD as root\n" msgstr "" msgid "Cant allocate enough memory for the default values\n" msgstr "" msgid "Cant allocate enough memory for configuration exists.\n" msgstr "" msgid "Cant get version from: \"proftpd -v\"\n" msgstr "" msgid "ProFTPD must be installed and be in your path.\n" msgstr "" msgid "Servername" msgstr "" msgid "Server type" msgstr "" msgid "Cant open shells for reading here:\n" msgstr "" msgid "Cant open shells for writing /bin/false here:\n" msgstr "" msgid "Couldnt find ftpusers here:\n" msgstr "" msgid "" "\n" "so GProftpd made that file and added all users\n" msgstr "" msgid "on the system to it. They are now banned from using\n" msgstr "" msgid "the FTP server if GProftpd was configured correctly.\n" msgstr "" msgid "This in an auto-security feature.\n" msgstr "" msgid "You must specify a username.\n" msgstr "" msgid "Usernames are not allowed to begin with a number.\n" msgstr "" msgid "Refusing to add user root.\n" msgstr "" msgid "A username containing < or > is not allowed.\n" msgstr "" msgid "The minimum password length is 6 chars.\n" msgstr "" msgid "The minimum shell length is 3 chars.\n" msgstr "" msgid "Mimimum directory path length is 1 char.\n" msgstr "" msgid "Error reading conf:\n" msgstr "" msgid "" "\n" "Run gproftpd as root, not installed correctly ?.\n" msgstr "" msgid "That user already exists in this server in proftpd.conf.\n" msgstr "" msgid "Nothing was changed.\n" msgstr "" msgid "Error adding the fake user with this command:\n" msgstr "" msgid "" "\n" "add it in a terminal\n" msgstr "" msgid "Error adding the fake darwin user, add it manually.\n" msgstr "" msgid "Error adding the real user with this command:\n" msgstr "" msgid "The system user was not added because uppercase\n" msgstr "" msgid "or language specific letters arent allowed.\n" msgstr "" msgid "Could not read AllowUser here:\n" msgstr "" msgid "" "\n" "Run gproftpd as root\n" msgstr "" msgid "Could not write the new userinformation to:\n" msgstr "" msgid "Manually delete that user,\n" msgstr "" msgid "could not delete it.\n" msgstr "" msgid "Cant delete a user of zero length.\n" msgstr "" msgid "Refusing to delete user root.\n" msgstr "" msgid "Cant open the configuration:\n" msgstr "" msgid "Could not find the specified server\n" msgstr "" msgid "Try reselecting the server by doubleclicking on it.\n" msgstr "" msgid "Error reading the configuration here:\n" msgstr "" #, c-format msgid "The user could not be found, this is a bug or %s has errors.\n" msgstr "" msgid "Run the configuration checker to find out if there are any problems.\n" msgstr "" msgid "" "\n" "The minimum password length is 6 chars.\n" msgstr "" msgid "" "\n" "The Password was changed.\n" msgstr "" msgid "The password was not changed.\n" msgstr "" msgid "The user didnt exist in shadow or passwd.\n" msgstr "" msgid "" "\n" "Cant open proftpd.conf\n" msgstr "" msgid "" "If there are no complaints the configuration is ok...\n" "\n" msgstr "" msgid "" "\n" "Check completed." msgstr "" #, c-format msgid "" "Cant write to proftpd.conf here: \n" "%s\n" msgstr "" msgid "You must specify a username or process number.\n" msgstr "" msgid "popen error, user not kicked\n" msgstr "" msgid "User or pid not found.\n" msgstr "" msgid "popen error, user not kicked or banned.\n" msgstr "" #, c-format msgid "" "The user was not banned, could not write to:\n" "%s" msgstr "" msgid "Cant ban a non active user by PID.\n" msgstr "" msgid "Misspelled maybe ?\n" msgstr "" msgid "The user was already banned.\n" msgstr "" msgid "The user was not currently in the ftp.\n" msgstr "" msgid "The user was banned but not kicked.\n" msgstr "" msgid "The user was kicked and banned.\n" msgstr "" msgid "Welcome message generation failed" msgstr "" msgid "No xferlog records found or popen failed\n" msgstr "" msgid "Every certificate field must be filled in\n" msgstr "" msgid "This step can take a while" msgstr "" msgid "The certificate has been created successfully\n" msgstr "" msgid "and placed in the correct location.\n" msgstr "" msgid "It will be used by new FTP-TLS logins.\n" msgstr "" msgid "The certificate has not been created, something went wrong.\n" msgstr "" msgid "Cant open proftpd.conf for writing here:\n" msgstr "" msgid "Cant allocate enough memory for adding a new server\n" msgstr "" msgid "The standard server can not be deleted.\n" msgstr "" msgid "Setting a servers port to 0 disables it.\n" msgstr "" msgid "Refusing to delete a server with no specified name.\n" msgstr "" msgid "Refusing to delete a server with no specified port.\n" msgstr "" msgid "Cant open the proftpd.conf here:\n" msgstr "" msgid "Could not delete the specified server\n" msgstr "" msgid "Refusing to change a server with no specified name.\n" msgstr "" msgid "Refusing to change a server with no specified port.\n" msgstr "" msgid "Cant open proftpd.conf here:\n" msgstr "" msgid "Could not find the specified server, no changes where made.\n" msgstr "" msgid "GProftpd Help" msgstr "" msgid "" "\n" "When gproftpd is started it checks if you have all required files and that " "the environment is ok.\n" "\n" "If you have just upgraded you should check out the homepage if any additions " "to the\n" "configuration are necessary in order to take full advantage of all its " "features.\n" "\n" "Proftpd must be installed and located somewhere in the environments path " "variable\n" "\n" "\n" "When you add a user you can randomize its name and password or use your " "own.\n" "You can also select its login shell and where this user should have its " "toplevel\n" "directory and upload directory.\n" "If the selected shell is /bin/false, /sbin/nologin etc the user can only " "login\n" "to this ftpserver otherwise that user gets a private homedirectory as well " "as its ftp directory\n" "and can login via ssh etc if that server allows this user to do so.\n" "\n" "The upload directory must be located below the users toplevel directory.\n" "If you dont want that user to have an upload directory you can uncheck the " "checkbox next to it.\n" "\n" "If you want to add directories thats not under the users toplevel directory " "you can do this:\n" "\n" "Linux (as of kernel 2.4.0):\n" "mount --bind /some/directory/to/share /home/ftp/make_this_directory_first\n" "\n" "Alternatively:\n" "mount -o bind /var/data /home/ftp/bob/data\n" "\n" "*BSD (as of 4.4BSD):\n" "mount_null /var/data /home/ftp/bob/data\n" "\n" "Solaris:\n" "mount -F lofs /var/data /home/ftp/bob/data\n" "\n" "If you want automatically generated statistics you can use gprostats with " "crond\n" "or press the welcome and html statistics buttons in the files tab to make " "them once.\n" "\n" "With crond and gprostats you can do this to have it automatically update the " "statistics:\n" "gprostats -html /path/to/output.html\n" "gprostats -w welcome.msg\n" "or both at the same time gprostats -html /path/to/output.html -w welcome." "msg\n" "Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to.\n" "\n" "If you have made customized welcome messages and dont want them overwritten\n" "by gprostats you can configure this by doubleclicking a user and unchecking " "update statistics.\n" "then pressing the change button, this will also exclude the user from the " "html output.\n" "\n" "Some typical setups:\n" "\n" "If one or more of your users needs to have upload access to a http servers " "directory:\n" "\n" "1. Set the users ftp root directory to the webserver's root directory /var/" "www/html\n" " or /var/www/html/this_users_directory for a private homepage.\n" "\n" "2. Take away all text from the upload directory field\n" "\n" "3. Make sure the checkbutton next to the upload directory is checked.\n" " Press the add button to add this user.\n" "\n" "4. You can now login as this user and upload to the html directory.\n" "\n" "\n" "To add anonymous readonly access to a directory you can do this:\n" "\n" "1. Type anonymous in the username field. \n" " Press the password randomize button or type any password you want.\n" " Select the /bin/false shell.\n" " Uncheck the upload checkbutton, this is important.\n" " Press add to add this anonymous user.\n" "\n" "2. Doubleclick that user in the users tab and set require password to off " "then \n" " check that this user inst banned then press the change button.\n" "\n" "4. You can now login as anonymous with no password.\n" "\n" "\n" "This is the default setting, one upload directory and a readonly ftp root " "directory:\n" "Root directory /home/ftp \n" "Upload directory /home/ftp/upload\n" "\n" "The users can then upload files in the upload directory and download from " "the\n" "ftp root directory where you can put what you want to share.\n" "\n" "You can easily add more servers to run on different interfaces and ports.\n" "When a user connects to one address and port it gets access according to " "that servers\n" "configuration but only if the server is selected to bind to addresses.\n" "There are two directives used for this:\n" "Bind and SocketBindTight.\n" "If you want to turn off a server without deleting it you can set its port " "value to 0\n" "\n" "If this Proftpd server is behind a NAT gateway you should specify the " "gateways\n" "DNS name or IP address otherwise turn it off.\n" "\n" "If you copy or move a file directly to the ftpservers directory you may " "need\n" "to chmod it with 644 and chmod directories to 755 so that the directory and " "file can be accessed.\n" "\n" "This is one way of chmodding all files recursively in the directory /home/" "ftp:\n" "find /home/ftp -type f -exec chmod 644 -v {} \\;\n" "\n" "Upload directories should have a chmod of 777 and this can be used for /home/" "ftp/upload\n" "find /home/ftp/upload -type d -exec chmod 777 -v {} \\;\n" "\n" "For more detailed information about the server and its configuration " "directives visit:\n" "http://www.proftpd.org\n" msgstr "" msgid "Close" msgstr "" msgid "Shutdown" msgstr "" msgid "The server will shut down according to these settings." msgstr "" msgid "Time to real shutdown:" msgstr "" msgid "now, +Minutes or HHMM" msgstr "" msgid "New access disabled:" msgstr "" msgid "Minutes before real shutdown." msgstr "" msgid "Existing users disconnected:" msgstr "" msgid "Shutdown message:" msgstr "" #, c-format msgid "%s , Current connections will be dropped: %d" msgstr "" msgid "Pressing the online button will let users login again." msgstr "" msgid "Cancel" msgstr "" msgid "OK" msgstr "" msgid "GProFTPD information" msgstr "" msgid "User settings" msgstr "" msgid "These are the settings for this user." msgstr "" msgid "Username: " msgstr "" msgid "Password: " msgstr "" msgid "Group: " msgstr "" msgid "Require password:" msgstr "" msgid "Allow logins from:" msgstr "" msgid "Maximum logins: " msgstr "" msgid "Message: " msgstr "" msgid "Home directory: " msgstr "" msgid "Update statistics:" msgstr "" msgid "Banned:" msgstr "" msgid "Type a password longer then 6 chars to change." msgstr "" msgid "all,none,192.168.0.,host.domain.edu,.trusted-domain.org" msgstr "" msgid "Upload directory:" msgstr "" msgid "This user is permitted to do the following in this directory:" msgstr "" msgid "List:" msgstr "" msgid "Upload:" msgstr "" msgid "Append:" msgstr "" msgid "Download:" msgstr "" msgid "Rename:" msgstr "" msgid "Delete:" msgstr "" msgid "Create directory:" msgstr "" msgid "Remove directory:" msgstr "" msgid "Site:" msgstr "" msgid "Show dates:" msgstr "" msgid "Show current path:" msgstr "" msgid "Show filesize:" msgstr "" msgid "Change working directory:" msgstr "" msgid "Change mode:" msgstr "" msgid "Change group:" msgstr "" msgid "Cdup:" msgstr "" msgid "Show connection settings:" msgstr "" msgid "Delete" msgstr "" msgid "Change" msgstr "" msgid "Credits" msgstr "" msgid "" "Author: Magnus-swe\n" "Email: magnus-swe@telia.com\n" "Homepage: http://mange.dynup.net/linux.html\n" "\n" "I want to thank the following for their contributions:\n" "-------------------------------------------------------------------------\n" "Nestor Diaz for the nice icons and the weblogo.\n" "Julle for coding support and testing.\n" "The people at the GTK+ development lists.\n" "\n" "And a big thanks to the Proftpd team.\n" msgstr "" msgid "Choose the users toplevel directory" msgstr "" msgid "Choose an upload directory (must be below the users directory)" msgstr "" msgid "GProftpd question" msgstr "" msgid "" "GProftpd could not find proftpd.conf or you are using\n" "the basic configuration wich doesnt have all features\n" "that gproftpd's default configuration has.\n" "\n" "If you use proftpd's default configuration and dont\n" "want to see this question again, take away the line:\n" "# Port 21 is the standard ftp port.\n" "\n" "Do you want to overwrite proftpd.conf with GProftpd's\n" "default configuration ?\n" "\n" " (If you dont know then press yes)\n" msgstr "" msgid "Yes" msgstr "Ja" msgid "No" msgstr "Nej" msgid "GProFTPD Password" msgstr "" msgid "This user already existed in the system." msgstr "" msgid "Username:" msgstr "" msgid "New password: " msgstr "" msgid "Do you want to change the users password ?" msgstr "" msgid "Dont change" msgstr "" msgid "Delete the system user ?" msgstr "" msgid "Do you also want to delete the system user ?" msgstr "" msgid "Username: " msgstr "" msgid "Add this needed master ftpuser ?" msgstr "" msgid "GProftpd needs to add the user and group the server will runs as." msgstr "" msgid "User and groupname:" msgstr "" msgid "This action is necessary, do you want to do it ?" msgstr "" msgid "GProFTPD" msgstr "" msgid " Online " msgstr "" msgid " Offline " msgstr "" msgid " Shutdown " msgstr "" msgid " ReRead " msgstr "" msgid " Help " msgstr "" msgid " Credits " msgstr "" msgid " Quit " msgstr "" msgid "Information:" msgstr "" msgid "proftpd -v failed." msgstr "" msgid "The server is currently:" msgstr "" msgid "Cant determine." msgstr "" msgid "This is the configuration for the currently selected server." msgstr "" msgid "Import users" msgstr "" msgid "Add Server" msgstr "" msgid "Delete server" msgstr "" msgid "Apply changes" msgstr "" msgid "DNS name or ip address of the server:" msgstr "" msgid "Show alternate server identity:" msgstr "" msgid "NAT gateway address:" msgstr "" msgid "The administrators email address:" msgstr "" msgid "To listen on all interfaces 0.0.0.0 can be used" msgstr "" msgid "Only use this if you are behind a NAT gateway" msgstr "" msgid "Bind servers to their addresses:" msgstr "" msgid "Identity lookups:" msgstr "" msgid "Reverse lookups:" msgstr "" msgid "Use GMT time:" msgstr "" msgid "The port the server listens on:" msgstr "" msgid "Passive ports range:" msgstr "" msgid "Maximum connections for each server:" msgstr "" msgid "Max login attempts before disconnected:" msgstr "" msgid "Login timeout:" msgstr "" msgid "Idle timeout:" msgstr "" msgid "Randomized username length:" msgstr "" msgid "Randomized password length:" msgstr "" msgid "Randomize to upper or lower case:" msgstr "" msgid "Default transfermode:" msgstr "" msgid "FXP transfers:" msgstr "" msgid "Off is local time" msgstr "" msgid "0 is offline" msgstr "" msgid "Seconds" msgstr "" msgid "Useradds default directory path:" msgstr "" msgid "Useradds default upload path:" msgstr "" msgid "Statistics default html path:" msgstr "" msgid "Statistics default welcome name:" msgstr "" msgid "The systems logfile:" msgstr "" msgid "The server runs as this user:" msgstr "" msgid "The server runs as this group:" msgstr "" msgid "This fake user owns all files:" msgstr "" msgid "This fake group owns all files:" msgstr "" msgid "Upload settings:" msgstr "" msgid "Upload bandwidth:" msgstr "" msgid "Resume broken uploads:" msgstr "" msgid "Automatically delete aborted uploads:" msgstr "" msgid "KB/Sec" msgstr "" msgid "Download settings:" msgstr "" msgid "Download bandwidth:" msgstr "" msgid "Resume broken downloads:" msgstr "" msgid "KB/sec" msgstr "" msgid "FTP-TLS secure communications:" msgstr "" msgid "Use FTP-TLS:" msgstr "" msgid "Require encrytion on channels:" msgstr "" msgid "Verify clients:" msgstr "" msgid "Use these protocols:" msgstr "" msgid "TLS Logfile" msgstr "" msgid "RSA certificate file:" msgstr "" msgid "Create a new selfsigned certificate:" msgstr "" msgid "DNS name or IP-address of this server:" msgstr "" msgid "Email address:" msgstr "" msgid "State or province:" msgstr "" msgid "City or town:" msgstr "" msgid "Organization:" msgstr "" msgid "Organizational unit:" msgstr "" msgid "Password:" msgstr "" msgid "Challenge password:" msgstr "" msgid "Number of bits:" msgstr "" msgid "Number of days the certificate is valid:" msgstr "" msgid "Countrycode IE: SV, DK, US etc:" msgstr "" msgid "Generate certificate:" msgstr "" msgid "Generate" msgstr "" msgid "Servers" msgstr "" msgid "Add delete or make changes to users in the currently selected server." msgstr "" msgid "Make a random username" msgstr "" msgid "Select the users toplevel directory" msgstr "" msgid "Directory:" msgstr "" msgid "/home/ftp" msgstr "" msgid "Make a random password" msgstr "" msgid "Select an upload directory below the users toplevel directory" msgstr "" msgid "/upload" msgstr "" msgid "Shell: " msgstr "" msgid "Create this upload directory" msgstr "" msgid "Add" msgstr "" msgid "Doubleclick to make changes to a user" msgstr "" msgid "Users" msgstr "" msgid "Current usage, transferrates and terminating connections." msgstr "" msgid "Total bandwidth: " msgstr "" msgid "Total incoming: " msgstr "" msgid " Total outgoing: " msgstr "" msgid "Username or PID:" msgstr "" msgid "Kicks the first matching username or the matching process number" msgstr "" msgid "Kick" msgstr "" msgid "Kickbans the first matching username or the matching process number" msgstr "" msgid "Kickban" msgstr "" msgid "Transfers" msgstr "" msgid "Information about mounted devices." msgstr "" msgid "Update" msgstr "" msgid "Disc" msgstr "" msgid "Transferred files and statistics generation." msgstr "" msgid "Generate:" msgstr "" msgid "HTML" msgstr "" msgid "/var/www/html/ftp.html" msgstr "" msgid "Welcome" msgstr "" msgid "welcome.msg" msgstr "" msgid "Clear" msgstr "" msgid "Files" msgstr "" msgid "This is the entire proftpd configuration." msgstr "" msgid "Restore" msgstr "" msgid "Backup" msgstr "" msgid "Check syntax" msgstr "" msgid "The server will not reread its configuration" msgstr "" msgid "Save" msgstr "" msgid "Entire" msgstr "" msgid "Server security information." msgstr "" msgid "Successful logins" msgstr "" msgid "Refused logins" msgstr "" msgid "Security" msgstr "" msgid "Http://mange.dynup.net/linux.html" msgstr "" msgid "Select any users you want to import" msgstr "" msgid "Import users to the currently selected server." msgstr "" msgid "All selected users will be imported with the following settings:" msgstr "" msgid "The users will have this home directory:" msgstr "" msgid "They will have username based directories under the home directory:" msgstr "" msgid "Add an upload directory under the home directory:" msgstr "" msgid "" "If you delete all text here and check the checkbutton then users will be " "able to upload directly in the home directory" msgstr "" msgid "Import" msgstr "" #, c-format msgid "Couldn't find pixmap file: %s" msgstr "" 0707010001dbde000081a40000000200000002000000014173773700005d7f000000200000000000000000000000000000002300000000reloc/src/.deps/gproftpd_window.Pogproftpd_window.o gproftpd_window.o: gproftpd_window.c ../config.h \ /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h callbacks.h support.h \ /usr/include/libintl.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: callbacks.h: support.h: /usr/include/libintl.h: 0707010001dbdf000081a4000000020000000200000001417377fd0000627f000000200000000000000000000000000000001d00000000reloc/src/.deps/gprostats.Pogprostats.o gprostats.o: gprostats.c ../config.h functions.h \ /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h \ /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h \ /usr/include/stdio_impl.h /usr/include/stdlib.h \ /usr/include/iso/stdlib_iso.h /usr/include/sys/int_types.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h \ /usr/include/sys/machtypes.h /usr/include/sys/select.h \ /usr/include/sys/time.h /usr/include/time.h /usr/include/iso/time_iso.h \ /usr/include/sys/time_impl.h /usr/include/unistd.h \ /usr/include/sys/unistd.h /usr/include/string.h \ /usr/include/iso/string_iso.h /usr/include/memory.h ../config.h: functions.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h: /usr/include/iso/stdio_iso.h: /usr/include/sys/va_list.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h: /usr/include/stdio_impl.h: /usr/include/stdlib.h: /usr/include/iso/stdlib_iso.h: /usr/include/sys/int_types.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h: /usr/include/sys/machtypes.h: /usr/include/sys/select.h: /usr/include/sys/time.h: /usr/include/time.h: /usr/include/iso/time_iso.h: /usr/include/sys/time_impl.h: /usr/include/unistd.h: /usr/include/sys/unistd.h: /usr/include/string.h: /usr/include/iso/string_iso.h: /usr/include/memory.h: 0707010001dbe0000081a40000000200000002000000014173777a0000632a000000200000000000000000000000000000002400000000reloc/src/.deps/import_functions.Poimport_functions.o import_functions.o: import_functions.c ../config.h \ /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h \ /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h \ /usr/include/stdio_impl.h /usr/include/stdlib.h \ /usr/include/iso/stdlib_iso.h /usr/include/unistd.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h \ /usr/include/sys/machtypes.h /usr/include/sys/int_types.h \ /usr/include/sys/select.h /usr/include/sys/time.h /usr/include/time.h \ /usr/include/iso/time_iso.h /usr/include/sys/time_impl.h \ /usr/include/sys/unistd.h /usr/include/string.h \ /usr/include/iso/string_iso.h import_functions.h import_window.h \ dialogs.h support.h /usr/include/libintl.h functions.h callbacks.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h: /usr/include/iso/stdio_iso.h: /usr/include/sys/va_list.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h: /usr/include/stdio_impl.h: /usr/include/stdlib.h: /usr/include/iso/stdlib_iso.h: /usr/include/unistd.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h: /usr/include/sys/machtypes.h: /usr/include/sys/int_types.h: /usr/include/sys/select.h: /usr/include/sys/time.h: /usr/include/time.h: /usr/include/iso/time_iso.h: /usr/include/sys/time_impl.h: /usr/include/sys/unistd.h: /usr/include/string.h: /usr/include/iso/string_iso.h: import_functions.h: import_window.h: dialogs.h: support.h: /usr/include/libintl.h: functions.h: callbacks.h: 0707010001dbe1000081a4000000020000000200000001403b098800006457000000200000000000000000000000000000002000000000reloc/src/.deps/import_users.Poimport_users.o: import_users.c /usr/include/gtk-2.0/gtk/gtk.h \ /usr/include/gtk-2.0/gdk/gdk.h /usr/include/gtk-2.0/gdk/gdkcolor.h \ /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/glib-2.0/glib.h \ /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ /usr/include/limits.h /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/gnu/stubs.h /usr/include/bits/posix1_lim.h \ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ /usr/include/bits/posix2_lim.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-glyph-item.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h support.h ../config.h \ /usr/include/libintl.h /usr/include/locale.h /usr/include/bits/locale.h \ functions.h /usr/include/stdio.h /usr/include/bits/types.h \ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ /usr/include/bits/wchar.h /usr/include/gconv.h \ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ /usr/include/bits/stdio.h /usr/include/stdlib.h \ /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ /usr/include/bits/endian.h /usr/include/sys/select.h \ /usr/include/bits/select.h /usr/include/bits/sigset.h \ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ /usr/include/bits/string2.h /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h: /usr/include/limits.h: /usr/include/features.h: /usr/include/sys/cdefs.h: /usr/include/gnu/stubs.h: /usr/include/bits/posix1_lim.h: /usr/include/bits/local_lim.h: /usr/include/linux/limits.h: /usr/include/bits/posix2_lim.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-glyph-item.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: support.h: ../config.h: /usr/include/libintl.h: /usr/include/locale.h: /usr/include/bits/locale.h: functions.h: /usr/include/stdio.h: /usr/include/bits/types.h: /usr/include/bits/wordsize.h: /usr/include/bits/typesizes.h: /usr/include/libio.h: /usr/include/_G_config.h: /usr/include/wchar.h: /usr/include/bits/wchar.h: /usr/include/gconv.h: /usr/include/bits/stdio_lim.h: /usr/include/bits/sys_errlist.h: /usr/include/bits/stdio.h: /usr/include/stdlib.h: /usr/include/sys/types.h: /usr/include/time.h: /usr/include/endian.h: /usr/include/bits/endian.h: /usr/include/sys/select.h: /usr/include/bits/select.h: /usr/include/bits/sigset.h: /usr/include/bits/time.h: /usr/include/sys/sysmacros.h: /usr/include/bits/pthreadtypes.h: /usr/include/bits/sched.h: /usr/include/alloca.h: /usr/include/string.h: /usr/include/bits/string.h: /usr/include/bits/string2.h: 0707010001dbe2000081a40000000200000002000000014173776e00006327000000200000000000000000000000000000002100000000reloc/src/.deps/import_window.Poimport_window.o import_window.o: import_window.c ../config.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h \ /usr/include/sys/isa_defs.h /usr/include/sys/feature_tests.h \ /usr/include/sys/machtypes.h /usr/include/sys/int_types.h \ /usr/include/sys/select.h /usr/include/sys/time.h /usr/include/time.h \ /usr/include/iso/time_iso.h /usr/include/sys/time_impl.h \ /usr/include/sys/stat.h /usr/include/sys/stat_impl.h \ /usr/include/unistd.h /usr/include/sys/unistd.h /usr/include/string.h \ /usr/include/iso/string_iso.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h \ /usr/include/stdio_impl.h /usr/include/gtk-2.0/gdk/gdkkeysyms.h \ /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h import_functions.h \ import_window.h support.h /usr/include/libintl.h ../config.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h: /usr/include/sys/isa_defs.h: /usr/include/sys/feature_tests.h: /usr/include/sys/machtypes.h: /usr/include/sys/int_types.h: /usr/include/sys/select.h: /usr/include/sys/time.h: /usr/include/time.h: /usr/include/iso/time_iso.h: /usr/include/sys/time_impl.h: /usr/include/sys/stat.h: /usr/include/sys/stat_impl.h: /usr/include/unistd.h: /usr/include/sys/unistd.h: /usr/include/string.h: /usr/include/iso/string_iso.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/iso/stdio_iso.h: /usr/include/sys/va_list.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h: /usr/include/stdio_impl.h: /usr/include/gtk-2.0/gdk/gdkkeysyms.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: import_functions.h: import_window.h: support.h: /usr/include/libintl.h: 0707010001dbe3000081a4000000020000000200000001403126fb00005e6b000000200000000000000000000000000000001d00000000reloc/src/.deps/interface.Pointerface.o: interface.c ../config.h /usr/include/gtk-2.0/gtk/gtk.h \ /usr/include/gtk-2.0/gdk/gdk.h /usr/include/gtk-2.0/gdk/gdkcolor.h \ /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/glib-2.0/glib.h \ /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h \ /usr/include/limits.h /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/gnu/stubs.h /usr/include/bits/posix1_lim.h \ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ /usr/include/bits/posix2_lim.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-glyph-item.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h callbacks.h interface.h \ support.h /usr/include/libintl.h /usr/include/locale.h \ /usr/include/bits/locale.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/limits.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/syslimits.h: /usr/include/limits.h: /usr/include/features.h: /usr/include/sys/cdefs.h: /usr/include/gnu/stubs.h: /usr/include/bits/posix1_lim.h: /usr/include/bits/local_lim.h: /usr/include/linux/limits.h: /usr/include/bits/posix2_lim.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-glyph-item.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: callbacks.h: interface.h: support.h: /usr/include/libintl.h: /usr/include/locale.h: /usr/include/bits/locale.h: 0707010001dbe4000081a4000000020000000200000001417376a900005d80000000200000000000000000000000000000001800000000reloc/src/.deps/main.Pomain.o main.o: main.c ../config.h /usr/include/gtk-2.0/gtk/gtk.h \ /usr/include/gtk-2.0/gdk/gdk.h /usr/include/gtk-2.0/gdk/gdkcolor.h \ /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/glib-2.0/glib.h \ /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/sys/feature_tests.h /usr/include/sys/isa_defs.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h gproftpd_window.h dialogs.h \ support.h /usr/include/libintl.h ../config.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/sys/feature_tests.h: /usr/include/sys/isa_defs.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: gproftpd_window.h: dialogs.h: support.h: /usr/include/libintl.h: 0707010001dbe5000081a4000000020000000200000001417376ae0000627d000000200000000000000000000000000000001b00000000reloc/src/.deps/support.Posupport.o support.o: support.c ../config.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h \ /usr/include/sys/isa_defs.h /usr/include/sys/feature_tests.h \ /usr/include/sys/machtypes.h /usr/include/sys/int_types.h \ /usr/include/sys/select.h /usr/include/sys/time.h /usr/include/time.h \ /usr/include/iso/time_iso.h /usr/include/sys/time_impl.h \ /usr/include/sys/stat.h /usr/include/sys/stat_impl.h \ /usr/include/unistd.h /usr/include/sys/unistd.h /usr/include/string.h \ /usr/include/iso/string_iso.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h \ /usr/include/iso/stdio_iso.h /usr/include/sys/va_list.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h \ /usr/include/stdio_impl.h /usr/include/gtk-2.0/gtk/gtk.h \ /usr/include/gtk-2.0/gdk/gdk.h /usr/include/gtk-2.0/gdk/gdkcolor.h \ /usr/include/gtk-2.0/gdk/gdktypes.h /usr/include/glib-2.0/glib.h \ /usr/include/glib-2.0/glib/galloca.h \ /usr/include/glib-2.0/glib/gtypes.h \ /usr/lib/glib-2.0/include/glibconfig.h \ /usr/include/glib-2.0/glib/gmacros.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h \ /usr/include/iso/limits_iso.h /usr/include/sys/int_limits.h \ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h \ /usr/include/glib-2.0/glib/garray.h \ /usr/include/glib-2.0/glib/gasyncqueue.h \ /usr/include/glib-2.0/glib/gthread.h \ /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ /usr/include/glib-2.0/glib/gbacktrace.h \ /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ /usr/include/glib-2.0/glib/gmem.h \ /usr/include/glib-2.0/glib/gcompletion.h \ /usr/include/glib-2.0/glib/gconvert.h \ /usr/include/glib-2.0/glib/gdataset.h \ /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ /usr/include/glib-2.0/glib/gfileutils.h \ /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ /usr/include/glib-2.0/glib/giochannel.h \ /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ /usr/include/glib-2.0/glib/gstring.h \ /usr/include/glib-2.0/glib/gunicode.h \ /usr/include/glib-2.0/glib/gmarkup.h \ /usr/include/glib-2.0/glib/gmessages.h \ /usr/include/glib-2.0/glib/gnode.h \ /usr/include/glib-2.0/glib/gpattern.h \ /usr/include/glib-2.0/glib/gprimes.h \ /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ /usr/include/glib-2.0/glib/gscanner.h \ /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ /usr/include/glib-2.0/glib/gstrfuncs.h \ /usr/include/glib-2.0/glib/gthreadpool.h \ /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ /usr/include/glib-2.0/glib/gutils.h \ /usr/include/pango-1.0/pango/pango.h \ /usr/include/pango-1.0/pango/pango-attributes.h \ /usr/include/pango-1.0/pango/pango-font.h \ /usr/include/pango-1.0/pango/pango-coverage.h \ /usr/include/pango-1.0/pango/pango-types.h \ /usr/include/glib-2.0/glib-object.h \ /usr/include/glib-2.0/gobject/gboxed.h \ /usr/include/glib-2.0/gobject/gtype.h \ /usr/include/glib-2.0/gobject/genums.h \ /usr/include/glib-2.0/gobject/gobject.h \ /usr/include/glib-2.0/gobject/gvalue.h \ /usr/include/glib-2.0/gobject/gparam.h \ /usr/include/glib-2.0/gobject/gclosure.h \ /usr/include/glib-2.0/gobject/gsignal.h \ /usr/include/glib-2.0/gobject/gmarshal.h \ /usr/include/glib-2.0/gobject/gparamspecs.h \ /usr/include/glib-2.0/gobject/gsourceclosure.h \ /usr/include/glib-2.0/gobject/gtypemodule.h \ /usr/include/glib-2.0/gobject/gtypeplugin.h \ /usr/include/glib-2.0/gobject/gvaluearray.h \ /usr/include/glib-2.0/gobject/gvaluetypes.h \ /usr/include/pango-1.0/pango/pango-break.h \ /usr/include/pango-1.0/pango/pango-item.h \ /usr/include/pango-1.0/pango/pango-context.h \ /usr/include/pango-1.0/pango/pango-fontmap.h \ /usr/include/pango-1.0/pango/pango-fontset.h \ /usr/include/pango-1.0/pango/pango-engine.h \ /usr/include/pango-1.0/pango/pango-glyph.h \ /usr/include/pango-1.0/pango/pango-enum-types.h \ /usr/include/pango-1.0/pango/pango-layout.h \ /usr/include/pango-1.0/pango/pango-tabs.h \ /usr/lib/gtk-2.0/include/gdkconfig.h \ /usr/include/gtk-2.0/gdk/gdkcursor.h \ /usr/include/gtk-2.0/gdk/gdkdisplay.h \ /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ /usr/include/gtk-2.0/gdk/gdkinput.h \ /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ /usr/include/gtk-2.0/gdk/gdkrgb.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ /usr/include/gtk-2.0/gdk/gdkkeys.h \ /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ /usr/include/gtk-2.0/gdk/gdkpango.h \ /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ /usr/include/gtk-2.0/gdk/gdkpixmap.h \ /usr/include/gtk-2.0/gdk/gdkproperty.h \ /usr/include/gtk-2.0/gdk/gdkregion.h \ /usr/include/gtk-2.0/gdk/gdkscreen.h \ /usr/include/gtk-2.0/gdk/gdkselection.h \ /usr/include/gtk-2.0/gdk/gdkvisual.h \ /usr/include/gtk-2.0/gdk/gdkwindow.h \ /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ /usr/include/gtk-2.0/gtk/gtkenums.h \ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ /usr/include/gtk-2.0/gtk/gtkwidget.h \ /usr/include/gtk-2.0/gtk/gtkobject.h \ /usr/include/gtk-2.0/gtk/gtktypeutils.h \ /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ /usr/include/gtk-2.0/gtk/gtkdebug.h \ /usr/include/gtk-2.0/gtk/gtkadjustment.h \ /usr/include/gtk-2.0/gtk/gtkstyle.h \ /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ /usr/include/atk-1.0/atk/atkobject.h \ /usr/include/atk-1.0/atk/atkstate.h \ /usr/include/atk-1.0/atk/atkrelationtype.h \ /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ /usr/include/gtk-2.0/gtk/gtkcontainer.h \ /usr/include/gtk-2.0/gtk/gtkmenu.h \ /usr/include/gtk-2.0/gtk/gtkmenushell.h \ /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ /usr/include/atk-1.0/atk/atkaction.h \ /usr/include/atk-1.0/atk/atkcomponent.h \ /usr/include/atk-1.0/atk/atkutil.h \ /usr/include/atk-1.0/atk/atkdocument.h \ /usr/include/atk-1.0/atk/atkeditabletext.h \ /usr/include/atk-1.0/atk/atktext.h \ /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ /usr/include/atk-1.0/atk/atkhyperlink.h \ /usr/include/atk-1.0/atk/atkhypertext.h \ /usr/include/atk-1.0/atk/atkimage.h \ /usr/include/atk-1.0/atk/atknoopobject.h \ /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkregistry.h \ /usr/include/atk-1.0/atk/atkobjectfactory.h \ /usr/include/atk-1.0/atk/atkrelation.h \ /usr/include/atk-1.0/atk/atkrelationset.h \ /usr/include/atk-1.0/atk/atkselection.h \ /usr/include/atk-1.0/atk/atkstateset.h \ /usr/include/atk-1.0/atk/atkstreamablecontent.h \ /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ /usr/include/gtk-2.0/gtk/gtkalignment.h \ /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkarrow.h \ /usr/include/gtk-2.0/gtk/gtkbindings.h \ /usr/include/gtk-2.0/gtk/gtkbox.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ /usr/include/gtk-2.0/gtk/gtkbutton.h \ /usr/include/gtk-2.0/gtk/gtkcalendar.h \ /usr/include/gtk-2.0/gtk/gtksignal.h \ /usr/include/gtk-2.0/gtk/gtkmarshal.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ /usr/include/gtk-2.0/gtk/gtkitem.h \ /usr/include/gtk-2.0/gtk/gtkclipboard.h \ /usr/include/gtk-2.0/gtk/gtkselection.h \ /usr/include/gtk-2.0/gtk/gtkclist.h \ /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkrange.h \ /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ /usr/include/gtk-2.0/gtk/gtkdnd.h \ /usr/include/gtk-2.0/gtk/gtkeditable.h \ /usr/include/gtk-2.0/gtk/gtkentry.h \ /usr/include/gtk-2.0/gtk/gtkimcontext.h \ /usr/include/gtk-2.0/gtk/gtkeventbox.h \ /usr/include/gtk-2.0/gtk/gtkfilesel.h \ /usr/include/gtk-2.0/gtk/gtkfixed.h \ /usr/include/gtk-2.0/gtk/gtkfontsel.h \ /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ /usr/include/gtk-2.0/gtk/gtkhbbox.h \ /usr/include/gtk-2.0/gtk/gtkhpaned.h \ /usr/include/gtk-2.0/gtk/gtkpaned.h \ /usr/include/gtk-2.0/gtk/gtkhruler.h \ /usr/include/gtk-2.0/gtk/gtkruler.h \ /usr/include/gtk-2.0/gtk/gtkhscale.h \ /usr/include/gtk-2.0/gtk/gtkscale.h \ /usr/include/gtk-2.0/gtk/gtkhseparator.h \ /usr/include/gtk-2.0/gtk/gtkseparator.h \ /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ /usr/include/gtk-2.0/gtk/gtkimage.h \ /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ /usr/include/gtk-2.0/gtk/gtkinvisible.h \ /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ /usr/include/gtk-2.0/gtk/gtklistitem.h \ /usr/include/gtk-2.0/gtk/gtkliststore.h \ /usr/include/gtk-2.0/gtk/gtktreemodel.h \ /usr/include/gtk-2.0/gtk/gtktreesortable.h \ /usr/include/gtk-2.0/gtk/gtkmain.h \ /usr/include/gtk-2.0/gtk/gtkmenubar.h \ /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ /usr/include/gtk-2.0/gtk/gtknotebook.h \ /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ /usr/include/gtk-2.0/gtk/gtksocket.h \ /usr/include/gtk-2.0/gtk/gtkpreview.h \ /usr/include/gtk-2.0/gtk/gtkprogress.h \ /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ /usr/include/gtk-2.0/gtk/gtkviewport.h \ /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ /usr/include/gtk-2.0/gtk/gtksizegroup.h \ /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ /usr/include/gtk-2.0/gtk/gtkstock.h \ /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ /usr/include/gtk-2.0/gtk/gtktable.h \ /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ /usr/include/gtk-2.0/gtk/gtktext.h \ /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ /usr/include/gtk-2.0/gtk/gtktexttag.h \ /usr/include/gtk-2.0/gtk/gtktextiter.h \ /usr/include/gtk-2.0/gtk/gtktextchild.h \ /usr/include/gtk-2.0/gtk/gtktextmark.h \ /usr/include/gtk-2.0/gtk/gtktextview.h \ /usr/include/gtk-2.0/gtk/gtktipsquery.h \ /usr/include/gtk-2.0/gtk/gtktoolbar.h \ /usr/include/gtk-2.0/gtk/gtktooltips.h \ /usr/include/gtk-2.0/gtk/gtktree.h \ /usr/include/gtk-2.0/gtk/gtktreednd.h \ /usr/include/gtk-2.0/gtk/gtktreeitem.h \ /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ /usr/include/gtk-2.0/gtk/gtktreeselection.h \ /usr/include/gtk-2.0/gtk/gtktreeview.h \ /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ /usr/include/gtk-2.0/gtk/gtktreestore.h \ /usr/include/gtk-2.0/gtk/gtkvbbox.h \ /usr/include/gtk-2.0/gtk/gtkversion.h \ /usr/include/gtk-2.0/gtk/gtkvpaned.h \ /usr/include/gtk-2.0/gtk/gtkvruler.h \ /usr/include/gtk-2.0/gtk/gtkvscale.h \ /usr/include/gtk-2.0/gtk/gtkvseparator.h support.h \ /usr/include/libintl.h ../config.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/sys/types.h: /usr/include/sys/isa_defs.h: /usr/include/sys/feature_tests.h: /usr/include/sys/machtypes.h: /usr/include/sys/int_types.h: /usr/include/sys/select.h: /usr/include/sys/time.h: /usr/include/time.h: /usr/include/iso/time_iso.h: /usr/include/sys/time_impl.h: /usr/include/sys/stat.h: /usr/include/sys/stat_impl.h: /usr/include/unistd.h: /usr/include/sys/unistd.h: /usr/include/string.h: /usr/include/iso/string_iso.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdarg.h: /usr/include/iso/stdio_iso.h: /usr/include/sys/va_list.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stdio_tag.h: /usr/include/stdio_impl.h: /usr/include/gtk-2.0/gtk/gtk.h: /usr/include/gtk-2.0/gdk/gdk.h: /usr/include/gtk-2.0/gdk/gdkcolor.h: /usr/include/gtk-2.0/gdk/gdktypes.h: /usr/include/glib-2.0/glib.h: /usr/include/glib-2.0/glib/galloca.h: /usr/include/glib-2.0/glib/gtypes.h: /usr/lib/glib-2.0/include/glibconfig.h: /usr/include/glib-2.0/glib/gmacros.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/stddef.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/syslimits.h: /usr/include/iso/limits_iso.h: /usr/include/sys/int_limits.h: /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/float.h: /usr/include/glib-2.0/glib/garray.h: /usr/include/glib-2.0/glib/gasyncqueue.h: /usr/include/glib-2.0/glib/gthread.h: /usr/include/glib-2.0/glib/gerror.h: /usr/include/glib-2.0/glib/gquark.h: /usr/include/glib-2.0/glib/gbacktrace.h: /usr/include/glib-2.0/glib/gcache.h: /usr/include/glib-2.0/glib/glist.h: /usr/include/glib-2.0/glib/gmem.h: /usr/include/glib-2.0/glib/gcompletion.h: /usr/include/glib-2.0/glib/gconvert.h: /usr/include/glib-2.0/glib/gdataset.h: /usr/include/glib-2.0/glib/gdate.h: /usr/include/glib-2.0/glib/gdir.h: /usr/include/glib-2.0/glib/gfileutils.h: /usr/include/glib-2.0/glib/ghash.h: /usr/include/glib-2.0/glib/ghook.h: /usr/include/glib-2.0/glib/giochannel.h: /usr/include/glib-2.0/glib/gmain.h: /usr/include/glib-2.0/glib/gslist.h: /usr/include/glib-2.0/glib/gstring.h: /usr/include/glib-2.0/glib/gunicode.h: /usr/include/glib-2.0/glib/gmarkup.h: /usr/include/glib-2.0/glib/gmessages.h: /usr/include/glib-2.0/glib/gnode.h: /usr/include/glib-2.0/glib/gpattern.h: /usr/include/glib-2.0/glib/gprimes.h: /usr/include/glib-2.0/glib/gqsort.h: /usr/include/glib-2.0/glib/gqueue.h: /usr/include/glib-2.0/glib/grand.h: /usr/include/glib-2.0/glib/grel.h: /usr/include/glib-2.0/glib/gscanner.h: /usr/include/glib-2.0/glib/gshell.h: /usr/include/glib-2.0/glib/gspawn.h: /usr/include/glib-2.0/glib/gstrfuncs.h: /usr/include/glib-2.0/glib/gthreadpool.h: /usr/include/glib-2.0/glib/gtimer.h: /usr/include/glib-2.0/glib/gtree.h: /usr/include/glib-2.0/glib/gutils.h: /usr/include/pango-1.0/pango/pango.h: /usr/include/pango-1.0/pango/pango-attributes.h: /usr/include/pango-1.0/pango/pango-font.h: /usr/include/pango-1.0/pango/pango-coverage.h: /usr/include/pango-1.0/pango/pango-types.h: /usr/include/glib-2.0/glib-object.h: /usr/include/glib-2.0/gobject/gboxed.h: /usr/include/glib-2.0/gobject/gtype.h: /usr/include/glib-2.0/gobject/genums.h: /usr/include/glib-2.0/gobject/gobject.h: /usr/include/glib-2.0/gobject/gvalue.h: /usr/include/glib-2.0/gobject/gparam.h: /usr/include/glib-2.0/gobject/gclosure.h: /usr/include/glib-2.0/gobject/gsignal.h: /usr/include/glib-2.0/gobject/gmarshal.h: /usr/include/glib-2.0/gobject/gparamspecs.h: /usr/include/glib-2.0/gobject/gsourceclosure.h: /usr/include/glib-2.0/gobject/gtypemodule.h: /usr/include/glib-2.0/gobject/gtypeplugin.h: /usr/include/glib-2.0/gobject/gvaluearray.h: /usr/include/glib-2.0/gobject/gvaluetypes.h: /usr/include/pango-1.0/pango/pango-break.h: /usr/include/pango-1.0/pango/pango-item.h: /usr/include/pango-1.0/pango/pango-context.h: /usr/include/pango-1.0/pango/pango-fontmap.h: /usr/include/pango-1.0/pango/pango-fontset.h: /usr/include/pango-1.0/pango/pango-engine.h: /usr/include/pango-1.0/pango/pango-glyph.h: /usr/include/pango-1.0/pango/pango-enum-types.h: /usr/include/pango-1.0/pango/pango-layout.h: /usr/include/pango-1.0/pango/pango-tabs.h: /usr/lib/gtk-2.0/include/gdkconfig.h: /usr/include/gtk-2.0/gdk/gdkcursor.h: /usr/include/gtk-2.0/gdk/gdkdisplay.h: /usr/include/gtk-2.0/gdk/gdkevents.h: /usr/include/gtk-2.0/gdk/gdkdnd.h: /usr/include/gtk-2.0/gdk/gdkinput.h: /usr/include/gtk-2.0/gdk/gdkdrawable.h: /usr/include/gtk-2.0/gdk/gdkgc.h: /usr/include/gtk-2.0/gdk/gdkrgb.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: /usr/include/gtk-2.0/gdk/gdkenumtypes.h: /usr/include/gtk-2.0/gdk/gdkfont.h: /usr/include/gtk-2.0/gdk/gdkimage.h: /usr/include/gtk-2.0/gdk/gdkkeys.h: /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: /usr/include/gtk-2.0/gdk/gdkpango.h: /usr/include/gtk-2.0/gdk/gdkpixbuf.h: /usr/include/gtk-2.0/gdk/gdkpixmap.h: /usr/include/gtk-2.0/gdk/gdkproperty.h: /usr/include/gtk-2.0/gdk/gdkregion.h: /usr/include/gtk-2.0/gdk/gdkscreen.h: /usr/include/gtk-2.0/gdk/gdkselection.h: /usr/include/gtk-2.0/gdk/gdkvisual.h: /usr/include/gtk-2.0/gdk/gdkwindow.h: /usr/include/gtk-2.0/gtk/gtkaccelgroup.h: /usr/include/gtk-2.0/gtk/gtkenums.h: /usr/include/gtk-2.0/gtk/gtkaccellabel.h: /usr/include/gtk-2.0/gtk/gtklabel.h: /usr/include/gtk-2.0/gtk/gtkmisc.h: /usr/include/gtk-2.0/gtk/gtkwidget.h: /usr/include/gtk-2.0/gtk/gtkobject.h: /usr/include/gtk-2.0/gtk/gtktypeutils.h: /usr/include/gtk-2.0/gtk/gtktypebuiltins.h: /usr/include/gtk-2.0/gtk/gtkdebug.h: /usr/include/gtk-2.0/gtk/gtkadjustment.h: /usr/include/gtk-2.0/gtk/gtkstyle.h: /usr/include/gtk-2.0/gtk/gtksettings.h: /usr/include/gtk-2.0/gtk/gtkrc.h: /usr/include/atk-1.0/atk/atkobject.h: /usr/include/atk-1.0/atk/atkstate.h: /usr/include/atk-1.0/atk/atkrelationtype.h: /usr/include/gtk-2.0/gtk/gtkwindow.h: /usr/include/gtk-2.0/gtk/gtkbin.h: /usr/include/gtk-2.0/gtk/gtkcontainer.h: /usr/include/gtk-2.0/gtk/gtkmenu.h: /usr/include/gtk-2.0/gtk/gtkmenushell.h: /usr/include/gtk-2.0/gtk/gtkaccelmap.h: /usr/include/gtk-2.0/gtk/gtkaccessible.h: /usr/include/atk-1.0/atk/atk.h: /usr/include/atk-1.0/atk/atkaction.h: /usr/include/atk-1.0/atk/atkcomponent.h: /usr/include/atk-1.0/atk/atkutil.h: /usr/include/atk-1.0/atk/atkdocument.h: /usr/include/atk-1.0/atk/atkeditabletext.h: /usr/include/atk-1.0/atk/atktext.h: /usr/include/atk-1.0/atk/atkgobjectaccessible.h: /usr/include/atk-1.0/atk/atkhyperlink.h: /usr/include/atk-1.0/atk/atkhypertext.h: /usr/include/atk-1.0/atk/atkimage.h: /usr/include/atk-1.0/atk/atknoopobject.h: /usr/include/atk-1.0/atk/atknoopobjectfactory.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkregistry.h: /usr/include/atk-1.0/atk/atkobjectfactory.h: /usr/include/atk-1.0/atk/atkrelation.h: /usr/include/atk-1.0/atk/atkrelationset.h: /usr/include/atk-1.0/atk/atkselection.h: /usr/include/atk-1.0/atk/atkstateset.h: /usr/include/atk-1.0/atk/atkstreamablecontent.h: /usr/include/atk-1.0/atk/atktable.h: /usr/include/atk-1.0/atk/atkvalue.h: /usr/include/gtk-2.0/gtk/gtkalignment.h: /usr/include/gtk-2.0/gtk/gtkaspectframe.h: /usr/include/gtk-2.0/gtk/gtkframe.h: /usr/include/gtk-2.0/gtk/gtkarrow.h: /usr/include/gtk-2.0/gtk/gtkbindings.h: /usr/include/gtk-2.0/gtk/gtkbox.h: /usr/include/gtk-2.0/gtk/gtkbbox.h: /usr/include/gtk-2.0/gtk/gtkbutton.h: /usr/include/gtk-2.0/gtk/gtkcalendar.h: /usr/include/gtk-2.0/gtk/gtksignal.h: /usr/include/gtk-2.0/gtk/gtkmarshal.h: /usr/include/gtk-2.0/gtk/gtkcellrenderer.h: /usr/include/gtk-2.0/gtk/gtkcelleditable.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: /usr/include/gtk-2.0/gtk/gtkcheckbutton.h: /usr/include/gtk-2.0/gtk/gtktogglebutton.h: /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: /usr/include/gtk-2.0/gtk/gtkmenuitem.h: /usr/include/gtk-2.0/gtk/gtkitem.h: /usr/include/gtk-2.0/gtk/gtkclipboard.h: /usr/include/gtk-2.0/gtk/gtkselection.h: /usr/include/gtk-2.0/gtk/gtkclist.h: /usr/include/gtk-2.0/gtk/gtkhscrollbar.h: /usr/include/gtk-2.0/gtk/gtkscrollbar.h: /usr/include/gtk-2.0/gtk/gtkrange.h: /usr/include/gtk-2.0/gtk/gtkvscrollbar.h: /usr/include/gtk-2.0/gtk/gtkcolorsel.h: /usr/include/gtk-2.0/gtk/gtkdialog.h: /usr/include/gtk-2.0/gtk/gtkvbox.h: /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: /usr/include/gtk-2.0/gtk/gtkcombo.h: /usr/include/gtk-2.0/gtk/gtkhbox.h: /usr/include/gtk-2.0/gtk/gtkctree.h: /usr/include/gtk-2.0/gtk/gtkcurve.h: /usr/include/gtk-2.0/gtk/gtkdrawingarea.h: /usr/include/gtk-2.0/gtk/gtkdnd.h: /usr/include/gtk-2.0/gtk/gtkeditable.h: /usr/include/gtk-2.0/gtk/gtkentry.h: /usr/include/gtk-2.0/gtk/gtkimcontext.h: /usr/include/gtk-2.0/gtk/gtkeventbox.h: /usr/include/gtk-2.0/gtk/gtkfilesel.h: /usr/include/gtk-2.0/gtk/gtkfixed.h: /usr/include/gtk-2.0/gtk/gtkfontsel.h: /usr/include/gtk-2.0/gtk/gtkgamma.h: /usr/include/gtk-2.0/gtk/gtkgc.h: /usr/include/gtk-2.0/gtk/gtkhandlebox.h: /usr/include/gtk-2.0/gtk/gtkhbbox.h: /usr/include/gtk-2.0/gtk/gtkhpaned.h: /usr/include/gtk-2.0/gtk/gtkpaned.h: /usr/include/gtk-2.0/gtk/gtkhruler.h: /usr/include/gtk-2.0/gtk/gtkruler.h: /usr/include/gtk-2.0/gtk/gtkhscale.h: /usr/include/gtk-2.0/gtk/gtkscale.h: /usr/include/gtk-2.0/gtk/gtkhseparator.h: /usr/include/gtk-2.0/gtk/gtkseparator.h: /usr/include/gtk-2.0/gtk/gtkiconfactory.h: /usr/include/gtk-2.0/gtk/gtkimage.h: /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: /usr/include/gtk-2.0/gtk/gtkimmulticontext.h: /usr/include/gtk-2.0/gtk/gtkinputdialog.h: /usr/include/gtk-2.0/gtk/gtkinvisible.h: /usr/include/gtk-2.0/gtk/gtkitemfactory.h: /usr/include/gtk-2.0/gtk/gtklayout.h: /usr/include/gtk-2.0/gtk/gtklist.h: /usr/include/gtk-2.0/gtk/gtklistitem.h: /usr/include/gtk-2.0/gtk/gtkliststore.h: /usr/include/gtk-2.0/gtk/gtktreemodel.h: /usr/include/gtk-2.0/gtk/gtktreesortable.h: /usr/include/gtk-2.0/gtk/gtkmain.h: /usr/include/gtk-2.0/gtk/gtkmenubar.h: /usr/include/gtk-2.0/gtk/gtkmessagedialog.h: /usr/include/gtk-2.0/gtk/gtknotebook.h: /usr/include/gtk-2.0/gtk/gtkoldeditable.h: /usr/include/gtk-2.0/gtk/gtkoptionmenu.h: /usr/include/gtk-2.0/gtk/gtkpixmap.h: /usr/include/gtk-2.0/gtk/gtkplug.h: /usr/include/gtk-2.0/gtk/gtksocket.h: /usr/include/gtk-2.0/gtk/gtkpreview.h: /usr/include/gtk-2.0/gtk/gtkprogress.h: /usr/include/gtk-2.0/gtk/gtkprogressbar.h: /usr/include/gtk-2.0/gtk/gtkradiobutton.h: /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: /usr/include/gtk-2.0/gtk/gtkviewport.h: /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: /usr/include/gtk-2.0/gtk/gtksizegroup.h: /usr/include/gtk-2.0/gtk/gtkspinbutton.h: /usr/include/gtk-2.0/gtk/gtkstock.h: /usr/include/gtk-2.0/gtk/gtkstatusbar.h: /usr/include/gtk-2.0/gtk/gtktable.h: /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: /usr/include/gtk-2.0/gtk/gtktext.h: /usr/include/gtk-2.0/gtk/gtktextbuffer.h: /usr/include/gtk-2.0/gtk/gtktexttagtable.h: /usr/include/gtk-2.0/gtk/gtktexttag.h: /usr/include/gtk-2.0/gtk/gtktextiter.h: /usr/include/gtk-2.0/gtk/gtktextchild.h: /usr/include/gtk-2.0/gtk/gtktextmark.h: /usr/include/gtk-2.0/gtk/gtktextview.h: /usr/include/gtk-2.0/gtk/gtktipsquery.h: /usr/include/gtk-2.0/gtk/gtktoolbar.h: /usr/include/gtk-2.0/gtk/gtktooltips.h: /usr/include/gtk-2.0/gtk/gtktree.h: /usr/include/gtk-2.0/gtk/gtktreednd.h: /usr/include/gtk-2.0/gtk/gtktreeitem.h: /usr/include/gtk-2.0/gtk/gtktreemodelsort.h: /usr/include/gtk-2.0/gtk/gtktreeselection.h: /usr/include/gtk-2.0/gtk/gtktreeview.h: /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: /usr/include/gtk-2.0/gtk/gtktreestore.h: /usr/include/gtk-2.0/gtk/gtkvbbox.h: /usr/include/gtk-2.0/gtk/gtkversion.h: /usr/include/gtk-2.0/gtk/gtkvpaned.h: /usr/include/gtk-2.0/gtk/gtkvruler.h: /usr/include/gtk-2.0/gtk/gtkvscale.h: /usr/include/gtk-2.0/gtk/gtkvseparator.h: support.h: /usr/include/libintl.h: 0707010001dbe6000081a40000000200000002000000014173763800003613000000200000000000000000000000000000001300000000reloc/src/Makefile# Makefile.in generated by automake 1.7.8 from Makefile.am. # src/Makefile. Generated from Makefile.in by configure. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. srcdir = . top_srcdir = .. pkgdatadir = $(datadir)/gproftpd pkglibdir = $(libdir)/gproftpd pkgincludedir = $(includedir)/gproftpd top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = .././install-sh -c install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = sparc-sun-solaris2.9 ACLOCAL = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run aclocal-1.7 AMDEP_FALSE = # AMDEP_TRUE = AMTAR = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run tar AUTOCONF = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoconf AUTOHEADER = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run autoheader AUTOMAKE = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run automake-1.7 AWK = gawk CATALOGS = sv.gmo es.gmo CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -g -O2 -Wall CPP = gcc -E CPPFLAGS = CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = egrep EXEEXT = GETTEXT_PACKAGE = gproftpd GMOFILES = sv.gmo es.gmo GMSGFMT = /opt/csw/bin/gmsgfmt INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s INSTOBJEXT = .mo INTLLIBS = LDFLAGS = -lsocket LIBOBJS = LIBS = LOCALSTATEDIR = /usr/var LTLIBOBJS = MAINT = # MAINTAINER_MODE_FALSE = MAINTAINER_MODE_TRUE = # MAKEINFO = ${SHELL} /home/shake/gproftpd-8.1.7/missing --run makeinfo MKINSTALLDIRS = ./mkinstalldirs MSGFMT = /usr/bin/msgfmt OBJEXT = o PACKAGE = gproftpd PACKAGE_BUGREPORT = PACKAGE_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include PACKAGE_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 PACKAGE_NAME = PACKAGE_STRING = PACKAGE_TARNAME = PACKAGE_VERSION = PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config POFILES = sv.po es.po POSUB = po PO_IN_DATADIR_FALSE = PO_IN_DATADIR_TRUE = SET_MAKE = SHELL = /bin/bash STRIP = SYSCONFDIR = /usr/etc USE_NLS = yes VERSION = 8.1.7 XGETTEXT = : ac_ct_CC = gcc ac_ct_STRIP = am__fastdepCC_FALSE = # am__fastdepCC_TRUE = am__include = include am__leading_dot = . am__quote = bindir = ${exec_prefix}/bin build = sparc-sun-solaris2.9 build_alias = build_cpu = sparc build_os = solaris2.9 build_vendor = sun datadir = ${prefix}/share exec_prefix = ${prefix} host = sparc-sun-solaris2.9 host_alias = host_cpu = sparc host_os = solaris2.9 host_vendor = sun includedir = ${prefix}/include infodir = ${prefix}/info install_sh = /home/shake/gproftpd-8.1.7/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localstatedir = ${prefix}/var mandir = ${prefix}/man oldincludedir = /usr/include prefix = /usr program_transform_name = s,x,x, sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com sysconfdir = ${prefix}/etc target_alias = INCLUDES = \ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/openwin/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include sbin_PROGRAMS = gproftpd gprostats gproftpd_SOURCES = \ main.c \ support.c support.h \ gproftpd_window.c gproftpd_window.h \ functions.c functions.h \ dialogs.c dialogs.h \ import_window.c import_window.h \ import_functions.c import_functions.h \ callbacks.c callbacks.h gprostats_SOURCES = \ gprostats.c \ functions.c functions.h gproftpd_LDADD = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = sbin_PROGRAMS = gproftpd$(EXEEXT) gprostats$(EXEEXT) PROGRAMS = $(sbin_PROGRAMS) am_gproftpd_OBJECTS = main.$(OBJEXT) support.$(OBJEXT) \ gproftpd_window.$(OBJEXT) functions.$(OBJEXT) dialogs.$(OBJEXT) \ import_window.$(OBJEXT) import_functions.$(OBJEXT) \ callbacks.$(OBJEXT) gproftpd_OBJECTS = $(am_gproftpd_OBJECTS) gproftpd_DEPENDENCIES = gproftpd_LDFLAGS = am_gprostats_OBJECTS = gprostats.$(OBJEXT) functions.$(OBJEXT) gprostats_OBJECTS = $(am_gprostats_OBJECTS) gprostats_LDADD = $(LDADD) gprostats_DEPENDENCIES = gprostats_LDFLAGS = DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles DEP_FILES = ./$(DEPDIR)/callbacks.Po ./$(DEPDIR)/dialogs.Po \ ./$(DEPDIR)/functions.Po \ ./$(DEPDIR)/gproftpd_window.Po \ ./$(DEPDIR)/gprostats.Po \ ./$(DEPDIR)/import_functions.Po \ ./$(DEPDIR)/import_window.Po ./$(DEPDIR)/main.Po \ ./$(DEPDIR)/support.Po COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(gproftpd_SOURCES) $(gprostats_SOURCES) DIST_COMMON = $(srcdir)/Makefile.in Makefile.am SOURCES = $(gproftpd_SOURCES) $(gprostats_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile Makefile: # $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(sbindir) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f || exit 1; \ else :; fi; \ done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ rm -f $(DESTDIR)$(sbindir)/$$f; \ done clean-sbinPROGRAMS: -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) gproftpd$(EXEEXT): $(gproftpd_OBJECTS) $(gproftpd_DEPENDENCIES) @rm -f gproftpd$(EXEEXT) $(LINK) $(gproftpd_LDFLAGS) $(gproftpd_OBJECTS) $(gproftpd_LDADD) $(LIBS) gprostats$(EXEEXT): $(gprostats_OBJECTS) $(gprostats_DEPENDENCIES) @rm -f gprostats$(EXEEXT) $(LINK) $(gprostats_LDFLAGS) $(gprostats_OBJECTS) $(gprostats_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c include ./$(DEPDIR)/callbacks.Po include ./$(DEPDIR)/dialogs.Po include ./$(DEPDIR)/functions.Po include ./$(DEPDIR)/gproftpd_window.Po include ./$(DEPDIR)/gprostats.Po include ./$(DEPDIR)/import_functions.Po include ./$(DEPDIR)/import_window.Po include ./$(DEPDIR)/main.Po include ./$(DEPDIR)/support.Po .c.o: if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ fi # source='$<' object='$@' libtool=no \ # depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ # $(CCDEPMODE) $(depcomp) \ # $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< .c.obj: if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ fi # source='$<' object='$@' libtool=no \ # depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \ # $(CCDEPMODE) $(depcomp) \ # $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` uninstall-info-am: ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: $(mkinstalldirs) $(DESTDIR)$(sbindir) install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-sbinPROGRAMS install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-sbinPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-sbinPROGRAMS install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-info-am uninstall-sbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dbe7000081a4000000020000000200000001403b0ad400000239000000200000000000000000000000000000001600000000reloc/src/Makefile.am## Process this file with automake to produce Makefile.in INCLUDES = \ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ @PACKAGE_CFLAGS@ sbin_PROGRAMS = gproftpd gprostats gproftpd_SOURCES = \ main.c \ support.c support.h \ gproftpd_window.c gproftpd_window.h \ functions.c functions.h \ dialogs.c dialogs.h \ import_window.c import_window.h \ import_functions.c import_functions.h \ callbacks.c callbacks.h gprostats_SOURCES = \ gprostats.c \ functions.c functions.h gproftpd_LDADD = @PACKAGE_LIBS@ 0707010001dbe8000081a400000002000000020000000140b7fd0d0000385c000000200000000000000000000000000000001600000000reloc/src/Makefile.in# Makefile.in generated by automake 1.7.8 from Makefile.am. # @configure_input@ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : host_triplet = @host@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LOCALSTATEDIR = @LOCALSTATEDIR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_CFLAGS = @PACKAGE_CFLAGS@ PACKAGE_LIBS = @PACKAGE_LIBS@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ SYSCONFDIR = @SYSCONFDIR@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ ac_ct_CC = @ac_ct_CC@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ INCLUDES = \ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ @PACKAGE_CFLAGS@ sbin_PROGRAMS = gproftpd gprostats gproftpd_SOURCES = \ main.c \ support.c support.h \ gproftpd_window.c gproftpd_window.h \ functions.c functions.h \ dialogs.c dialogs.h \ import_window.c import_window.h \ import_functions.c import_functions.h \ callbacks.c callbacks.h gprostats_SOURCES = \ gprostats.c \ functions.c functions.h gproftpd_LDADD = @PACKAGE_LIBS@ subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = sbin_PROGRAMS = gproftpd$(EXEEXT) gprostats$(EXEEXT) PROGRAMS = $(sbin_PROGRAMS) am_gproftpd_OBJECTS = main.$(OBJEXT) support.$(OBJEXT) \ gproftpd_window.$(OBJEXT) functions.$(OBJEXT) dialogs.$(OBJEXT) \ import_window.$(OBJEXT) import_functions.$(OBJEXT) \ callbacks.$(OBJEXT) gproftpd_OBJECTS = $(am_gproftpd_OBJECTS) gproftpd_DEPENDENCIES = gproftpd_LDFLAGS = am_gprostats_OBJECTS = gprostats.$(OBJEXT) functions.$(OBJEXT) gprostats_OBJECTS = $(am_gprostats_OBJECTS) gprostats_LDADD = $(LDADD) gprostats_DEPENDENCIES = gprostats_LDFLAGS = DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/callbacks.Po ./$(DEPDIR)/dialogs.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/functions.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/gproftpd_window.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/gprostats.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/import_functions.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/import_window.Po ./$(DEPDIR)/main.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/support.Po COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ DIST_SOURCES = $(gproftpd_SOURCES) $(gprostats_SOURCES) DIST_COMMON = $(srcdir)/Makefile.in Makefile.am SOURCES = $(gproftpd_SOURCES) $(gprostats_SOURCES) all: all-am .SUFFIXES: .SUFFIXES: .c .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(sbindir) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f || exit 1; \ else :; fi; \ done uninstall-sbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(sbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \ rm -f $(DESTDIR)$(sbindir)/$$f; \ done clean-sbinPROGRAMS: -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) gproftpd$(EXEEXT): $(gproftpd_OBJECTS) $(gproftpd_DEPENDENCIES) @rm -f gproftpd$(EXEEXT) $(LINK) $(gproftpd_LDFLAGS) $(gproftpd_OBJECTS) $(gproftpd_LDADD) $(LIBS) gprostats$(EXEEXT): $(gprostats_OBJECTS) $(gprostats_DEPENDENCIES) @rm -f gprostats$(EXEEXT) $(LINK) $(gprostats_LDFLAGS) $(gprostats_OBJECTS) $(gprostats_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callbacks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialogs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/functions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gproftpd_window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gprostats.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import_functions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import_window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< .c.obj: @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ @am__fastdepCC_TRUE@ fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` uninstall-info-am: ETAGS = etags ETAGSFLAGS = CTAGS = ctags CTAGSFLAGS = tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$tags$$unique" \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: $(mkinstalldirs) $(DESTDIR)$(sbindir) install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: info: info-am info-am: install-data-am: install-exec-am: install-sbinPROGRAMS install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am uninstall-sbinPROGRAMS .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-sbinPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am info \ info-am install install-am install-data install-data-am \ install-exec install-exec-am install-info install-info-am \ install-man install-sbinPROGRAMS install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-info-am uninstall-sbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: 0707010001dbe9000081a400000002000000020000000140f41a9000042aee000000200000000000000000000000000000001600000000reloc/src/callbacks.c/* * GProFTPD - A GTK+ frontend for the ProFTPD standalone server. * Copyright (C) 2001, 2002, 2003 Magnus-swe * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * */ #ifdef HAVE_CONFIG_H #include #endif #include #include "callbacks.h" #include "functions.h" #include "import_functions.h" #include "import_window.h" #include "dialogs.h" #include "support.h" #include #include #include #include #include #include #include #include #include #include /* If we dont have bcopy .. use memcpy functions */ #if HAVE_MEMORY_H #include #endif #ifndef HAVE_BCOPY #define bcopy(s,d,n) memcpy((d),(s),(n)) #define bzero(d,n) memset((d),0,(n)) #endif /* Several defines for different OSes * GProftpdNoDir is deleted so the ftp * directory isnt full of skelfiles. * Checking defaults to Linux macros. */ #ifdef USE_LINUX #define NOBODY "nobody" #define ADDUSER "useradd" #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/bin/false" #define USERSHOME "/home/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #elif defined USE_SUNOS #define NOBODY "nobody" #define ADDUSER "useradd" #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/bin/false" #define USERSHOME "/opt/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #elif defined USE_FREEBSD #define NOBODY "nobody" #define ADDUSER "pw useradd" #define ADDGROUP "pw groupadd" #define DELUSER "pw userdel" #define BINFALSE "/usr/bin/false" #define USERSHOME "/usr/home/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #elif defined USE_OPENBSD #define NOBODY "nobody" #define ADDUSER "useradd" #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/sbin/nologin" #define USERSHOME "/usr/home/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #elif defined USE_NETBSD #define NOBODY "nobody" #define ADDUSER "useradd" #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/usr/bin/false" #define USERSHOME "/usr/home/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #elif defined USE_DARWIN #define NOBODY "nobody" #define ADDUSER "useradd" #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/usr/bin/false" #define USERSHOME "/Users/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #include "osx_functions.c" #elif defined USE_AIX #define NOBODY "nobody" #define ADDUSER "useradd" /* mkgroup -A usr1 .. mkuser usr1 home=/var/ftp/usr1 shell=/bin/false */ #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/bin/false" #define USERSHOME "/home/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #elif defined USE_HPUX #define NOBODY "nobody" #define ADDUSER "useradd" #define ADDGROUP "groupadd" #define DELUSER "userdel" #define BINFALSE "/bin/false" #define USERSHOME "/home/" #define MASTERDIR USERSHOME"ftp/GProftpdNoDir" #define ADDPARAMS "-c ftp-master -d "MASTERDIR" -s" #define DISC_USAGE "df -hP |grep /" #endif /* Max popen output to read in (for ftpwho proftpd -l and df) */ #define MAX_READ_POPEN 65535 GtkWidget *userlist_treeview; GtkWidget *useradd_directory_entry; GtkWidget *useradd_incoming_directory_entry; char info_buffer[4096]=""; /* The contents of the info window */ int global_username_randlen=8; /* The default length of the randomized username */ int global_password_randlen=8; /* The default length of the randomized password */ char gp_useradd_root_path[8192]=""; /* Remember paths for the randomizer and the app */ char gp_useradd_upload_path[8192]=""; /* This is the selected server/vhost, if SocketBindTight is set it changes to that ip */ char selected_server_address[8192]="All interfaces"; char selected_server_port[128]=""; char selected_server_type[128]="Default server"; char selected_directory[8192]="Rootdir"; /* This is the selected directory */ int USE_TLS=0; /* Dont show widgets for tls if we dont have that module */ int offline_pressed=0; /* Used to determine if some other server is running on this port */ int online=0; void on_info_window_map (GtkWidget *widget, gpointer user_data) { /* Show a popup window with information */ GtkWidget *info_window; GtkWidget *info_textview; GtkTextBuffer *info_text_buffer; gchar *utf8=NULL; info_window = lookup_widget (GTK_WIDGET (widget), "info_window"); info_textview = lookup_widget (GTK_WIDGET (widget), "info_textview"); info_text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(info_textview)); utf8 = g_locale_to_utf8(info_buffer, strlen(info_buffer), NULL, NULL, NULL); gtk_text_buffer_set_text(info_text_buffer, utf8, strlen(utf8)); strcpy(info_buffer, ""); if(utf8 !=NULL) g_free(utf8); } int user_exists(G_CONST_RETURN gchar *username) { /* Checks if the system user already exists */ FILE *fp; long size_buffer; int x, user_exists=0; char tempname[4096]=""; char *check_buffer; GtkWidget *info_window; /* Checks if the user exists in passwd */ if((fp=fopen(GP_PASSWD,"r"))==NULL) { strcpy(info_buffer, _("Error reading passwd here:\n")); strcat(info_buffer, GP_PASSWD); strcat(info_buffer, _("\nNot installed correctly ?.\n")); info_window = create_info_window(); gtk_widget_show(info_window); return(0); } else { fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); check_buffer=(char *)malloc(size_buffer); bzero(check_buffer, size_buffer); while(fgets(check_buffer, size_buffer, fp)!=NULL) { for(x=0; check_buffer[x]; x++) { if(check_buffer[x]==':') { sprintf(tempname, check_buffer); tempname[x]='\0'; if( ! strcmp(username, tempname) ) { user_exists=1; break; } } if( check_buffer[x]=='\0' || check_buffer[x]=='\n' ) break; } } free(check_buffer); fclose(fp); } /* Checks if the user exists in shadow */ if((fp = fopen(GP_SHADOW,"r"))==NULL) { /* Dont show anything */ } else { fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); check_buffer=(char *)malloc(size_buffer); bzero(check_buffer, size_buffer); while(fgets(check_buffer, size_buffer, fp)!=NULL) { for(x=0; check_buffer[x]; x++) { if(check_buffer[x]==':') { sprintf(tempname, check_buffer); tempname[x]='\0'; if( strstr(username, tempname) && strlen(username)==strlen(tempname) ) { user_exists=1; break; } } if( check_buffer[x]=='\0' || check_buffer[x]=='\n' ) break; } } free(check_buffer); fclose(fp); } return user_exists; } int group_exists(G_CONST_RETURN gchar *groupname) { /* Checks if the system group already exists */ FILE *fp; long size_buffer; int x, group_exists=0; char tempname[4096]=""; char *check_buffer; GtkWidget *info_window; /* Checks if the group exists in group */ if((fp=fopen(GP_GROUP,"r"))==NULL) { strcpy(info_buffer, _("Error reading group here:\n")); strcat(info_buffer, GP_GROUP); strcat(info_buffer, _("\nNot installed correctly ?.\n")); info_window = create_info_window(); gtk_widget_show(info_window); return(0); } else { fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); check_buffer=(char *)malloc(size_buffer); bzero(check_buffer, size_buffer); while(fgets(check_buffer, size_buffer, fp)!=NULL) { for(x=0; check_buffer[x]; x++) { if(check_buffer[x]==':') { sprintf(tempname, check_buffer); tempname[x]='\0'; if( ! strcmp(groupname, tempname) ) { group_exists=1; break; } } if( check_buffer[x]=='\0' || check_buffer[x]=='\n' ) break; } } free(check_buffer); fclose(fp); } /* Checks if the group exists in gshadow */ if((fp = fopen(GP_GSHADOW,"r"))==NULL) { /* Dont show anything */ } else { fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); check_buffer=(char *)malloc(size_buffer); bzero(check_buffer, size_buffer); while(fgets(check_buffer, size_buffer, fp)!=NULL) { for(x=0; check_buffer[x]; x++) { if(check_buffer[x]==':') { sprintf(tempname, check_buffer); tempname[x]='\0'; if( strstr(groupname, tempname) && strlen(groupname)==strlen(tempname) ) { group_exists=1; break; } } if( check_buffer[x]=='\0' || check_buffer[x]=='\n' ) break; } } free(check_buffer); fclose(fp); } return group_exists; } void password_user(G_CONST_RETURN gchar *username, G_CONST_RETURN gchar *password) { FILE *fp; GtkWidget *info_window; char *user_pass, *encrypted_pass; if( ! user_exists(username) ) { sprintf(info_buffer, _("User: %s could not be found in passwd or shadow.\n"), username); strcat(info_buffer, _("The password was not changed.\n")); info_window=create_info_window(); gtk_widget_show(info_window); return; } user_pass=(char *)malloc(8192); bzero(user_pass, 8192); /* Crypt return a static pointer to a static buffer _DO_NOT_ free it DOH ! */ encrypted_pass=encrypt_password(password); if( encrypted_pass==NULL ) { printf("Crypt error: using the chpass(wd) program instead\n"); #if defined USE_LINUX sprintf(user_pass, "echo %s:%s | chpasswd", username, password); #endif #if defined USE_OPENBSD || USE_NETBSD || USE_FREEBSD sprintf(user_pass, "echo %s:%s | chpass", username, password); #endif #if defined USE_DARWIN /* Someone who knows what can be used .. niutil lines ? */ printf("Darwin functions are defined in osx_functions, this is a bug\n"); sprintf(user_pass, "echo passwd/username %s:%s", username, password); #endif } else { #if defined USE_LINUX sprintf(user_pass, "usermod -p '%s' %s", encrypted_pass, username); #endif #if defined USE_OPENSBD || USE_NETBSD || USE_FREEBSD || USE_AIX || USE_HPUX sprintf(user_pass, "pw usermod -p '%s' %s", encrypted_pass, username); #endif #if defined USE_DARWIN sprintf(user_pass, "echo manually change the password: passwd/username '%s' %s", encrypted_pass, username); #endif } /* Now have the correct password changing string, change it */ if((fp=popen(user_pass,"w"))==NULL) { perror("popen"); sprintf(info_buffer, _("Error changing password for user: %s\n"), username); info_window=create_info_window(); gtk_widget_show(info_window); } else pclose(fp); #if defined USE_DARWIN printf("Send me a mail describing what programs\n"); printf("can be used to change the password for a user and how.\n"); printf("Then ill fix it.\n"); #endif free(user_pass); } void on_add_systemuser_yes_button_clicked (GtkButton *button, gpointer user_data) { FILE *fp; char *username, *groupname, *user_add, *group_add; GtkWidget *add_systemuser_question_window; GtkWidget *info_window; gchar *utf8=NULL; add_systemuser_question_window = lookup_widget(GTK_WIDGET(button), "add_systemuser_question_window"); username=(char *)malloc(4096); bzero(username, 4096); strcpy(username, NOBODY); if( ! user_exists(username) ) { /* Make the NOBODY ftp-master system user then delete its directory GProftpdNoDir */ user_add=(char *)malloc(8192); bzero(user_add, 8192); sprintf(user_add, "%s %s %s %s", ADDUSER, NOBODY, ADDPARAMS, BINFALSE); if((fp=popen(user_add,"w"))==NULL) { sprintf(info_buffer, _("Cant add the master ftpuser with this command: %s\n"), user_add); info_window = create_info_window(); gtk_widget_show(info_window); free(user_add); free(username); if( utf8!=NULL ) g_free(utf8); return; } pclose(fp); if( strlen(MASTERDIR)>2 ) { sprintf(user_add, "rm -rf %s", MASTERDIR); system(user_add); } free(user_add); sprintf(info_buffer, _("The user: %s\nhas been added to your system with a /bin/false shell\nand put in ftpusers, no password was set.\n"), NOBODY); info_window = create_info_window(); gtk_widget_show(info_window); } groupname=(char *)malloc(4096); bzero(groupname, 4096); strcpy(groupname, NOBODY); if( ! group_exists(groupname) ) { /* Make the NOBODY ftp-master system group */ group_add=(char *)malloc(8192); bzero(group_add, 8192); sprintf(group_add, "%s %s", ADDGROUP, NOBODY); if((fp=popen(group_add,"w"))==NULL) { sprintf(info_buffer, _("Cant add the master ftp group with this command: %s\n"), group_add); info_window = create_info_window(); gtk_widget_show(info_window); free(group_add); free(groupname); free(username); if( utf8!=NULL ) g_free(utf8); return; } pclose(fp); free(group_add); free(groupname); sprintf(info_buffer, _("The group: %s\nhas been added to your system.\n"), NOBODY); info_window = create_info_window(); gtk_widget_show(info_window); } /* Ban the user if its not banned already */ if( ! is_banned(username) ) { if((fp=fopen(GP_FTPUSERS, "a"))==NULL) { sprintf(info_buffer, "%s %s %s", _("Cant write to ftpusers here:\n"), GP_FTPUSERS, _("\nRun GProFTPD as root.\n")); info_window = create_info_window(); gtk_widget_show(info_window); free(username); if( utf8!=NULL ) g_free(utf8); return; } fputs("\n", fp); fputs(NOBODY, fp); fputs("\n", fp); fclose(fp); } free(username); if( utf8!=NULL ) g_free(utf8); gtk_widget_destroy(add_systemuser_question_window); } void on_add_systemuser_question_window_map (GtkWidget *widget, gpointer user_data) { GtkWidget *add_systemuser_entry; gchar *utf8=NULL; char *username; add_systemuser_entry = lookup_widget(GTK_WIDGET(widget), "add_systemuser_entry"); username=(char *)malloc(8192); bzero(username, 8192); sprintf(username, "%s", NOBODY); utf8 = g_locale_to_utf8(username, strlen(username), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(add_systemuser_entry), utf8); free(username); if( utf8!=NULL ) g_free(utf8); } int xfer_update(GtkWidget *widget, gpointer user_data) { /* Timed update for ftpwho, on/offline status and total xferrates */ FILE *ftpwho, *configuration; GtkWidget *xfer_textview; GtkWidget *xfer_scrolledwindow; GtkWidget *status_label; GtkTextBuffer *xfer_textbuffer; GtkWidget *total_xfer_entry; GtkWidget *total_incoming_entry; GtkWidget *total_outgoing_entry; GtkWidget *info_window; GtkTextMark *mark; gchar *mark_name=NULL; GtkTextIter xfer_iter; char *xfer_port_buffer, *bw_buf, *xfer_buffer, *get_buffer, *xlatez; struct sockaddr_in myaddr; int mastersd=0, yes=1, port=0, port_found=0, incoming=0, outgoing=0; long size_port=0, in_val=0, out_val=0, inxfer=0, outxfer=0, totalxfer=0; gchar *utf8_text=NULL; xfer_textview = lookup_widget (GTK_WIDGET (widget), "xfer_textview"); xfer_scrolledwindow = lookup_widget (GTK_WIDGET (widget), "xfer_scrolledwindow"); status_label = lookup_widget (GTK_WIDGET (widget), "status_label"); total_xfer_entry = lookup_widget (GTK_WIDGET (widget), "total_xfer_entry"); total_incoming_entry = lookup_widget (GTK_WIDGET (widget), "total_incoming_entry"); total_outgoing_entry = lookup_widget (GTK_WIDGET (widget), "total_outgoing_entry"); /* On - offline checker */ /* Get the first port thats not 0 and the server listens to */ if((configuration=fopen(GP_CONF, "r"))==NULL) { utf8_text = g_locale_to_utf8("Configuration not found", 14, NULL, NULL, NULL); gtk_label_set_text(GTK_LABEL(status_label), utf8_text); online=0; return(TRUE); } else { fseek(configuration, 0, SEEK_END); size_port=ftell(configuration); rewind(configuration); xfer_port_buffer=(char *)malloc(size_port); if( xfer_port_buffer==NULL ) { printf("Not enough ram to see the ftpwho output\n"); free(xfer_port_buffer); return TRUE; } bzero(xfer_port_buffer, sizeof(char) * size_port); bw_buf=(char *)malloc(15); bzero(bw_buf, 15); while(fgets(xfer_port_buffer, size_port, configuration)!=NULL) { if( strstr(xfer_port_buffer, "Port") && ! strstr(xfer_port_buffer, "Passive") && strlen(xfer_port_buffer) < 15 ) { sscanf(xfer_port_buffer, "%*s %s", bw_buf); if( bw_buf[strlen(bw_buf)-1]=='\n' || bw_buf[strlen(bw_buf)-1]=='\r' ) bw_buf[strlen(bw_buf)-1]='\0'; if( is_digitz(bw_buf) && strlen(bw_buf) <= 6 && ! strstr(bw_buf, "#") ) { port=atoi(bw_buf); if( port > 0 ) { port_found=1; break; } } } } fclose(configuration); free(xfer_port_buffer); free(bw_buf); } if( port_found ) { if((mastersd=socket(AF_INET, SOCK_STREAM, 0))==-1) { perror("socket"); } else if(setsockopt(mastersd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int))==-1) { perror("setsockopt"); } else { myaddr.sin_family = AF_INET; myaddr.sin_addr.s_addr = INADDR_ANY; myaddr.sin_port = htons(port); bzero(&(myaddr.sin_zero), sizeof(myaddr)); xlatez=(char *)malloc(1024); bzero(xlatez, 1024); if(bind(mastersd, (struct sockaddr *)&myaddr, sizeof(myaddr))==-1) { sprintf(xlatez, _("Online")); utf8_text = g_locale_to_utf8(xlatez, strlen(xlatez), NULL, NULL, NULL); gtk_label_set_text(GTK_LABEL(status_label), utf8_text); close(mastersd); online=1; } else { sprintf(xlatez, _("Offline")); utf8_text = g_locale_to_utf8(xlatez, strlen(xlatez), NULL, NULL, NULL); gtk_label_set_text(GTK_LABEL(status_label), utf8_text); close(mastersd); online=0; } free(xlatez); } } get_buffer=(char *)malloc(MAX_READ_POPEN); bzero(get_buffer, MAX_READ_POPEN); if( online ) { /* FTP who update and total xferrates */ if((ftpwho=popen("ftpwho -v", "r"))==NULL) { return(TRUE); } fflush(ftpwho); xfer_buffer=(char *)malloc(MAX_READ_POPEN); bzero(xfer_buffer, MAX_READ_POPEN); while(fgets(xfer_buffer, 65535, ftpwho)!=NULL) { strcat(get_buffer, xfer_buffer); /* Total Xferrates incoming/outgoing/total bandwidth usage */ /* Assumes that the ftpwho output shows stor retr appe and on the next line KB/s */ /* incoming */ if( strstr(xfer_buffer, "KB/s: ") && incoming==1 && ! strstr(xfer_buffer, "inf") && ! strstr(xfer_buffer, "nan") ) { if( is_digitz(&xfer_buffer[7]) ) sscanf(xfer_buffer, "%*s %li", &in_val); if( in_val > 0 ) { inxfer=inxfer+in_val; totalxfer=totalxfer+in_val; } } if( strstr(xfer_buffer, " STOR ") || strstr(xfer_buffer, " APPE ") ) { incoming++; } else incoming=0; /* Outgoing */ if( strstr(xfer_buffer, "KB/s: ") && outgoing==1 && ! strstr(xfer_buffer, "inf") && ! strstr(xfer_buffer, "nan") ) { if( is_digitz(&xfer_buffer[7]) ) sscanf(xfer_buffer, "%*s %li", &out_val); if( out_val > 0 ) { outxfer=outxfer+out_val; totalxfer=totalxfer+out_val; } } if( strstr(xfer_buffer, " RETR ") ) { outgoing++; } else outgoing=0; } free(xfer_buffer); pclose(ftpwho); bw_buf=(char *)malloc(1024); bzero(bw_buf, 1024); /* Total bandwidth usage */ if( totalxfer >= 0 ) { sprintf(bw_buf, "%li %s", totalxfer, "KB/s"); utf8_text = g_locale_to_utf8(bw_buf, strlen(bw_buf), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY (total_xfer_entry), utf8_text); } /* Total incoming xfers */ if( inxfer >= 0 ) { sprintf(bw_buf, "%li %s", inxfer, "KB/s"); utf8_text = g_locale_to_utf8(bw_buf, strlen(bw_buf), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY (total_incoming_entry), utf8_text); } /* Total outgoing xfers */ if( outxfer >= 0 ) { sprintf(bw_buf, "%li %s", outxfer, "KB/s"); utf8_text = g_locale_to_utf8(bw_buf, strlen(bw_buf), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY (total_outgoing_entry), utf8_text); } free(bw_buf); /* Tell the user if something else is running on this port */ if( offline_pressed > 0 && online ) { offline_pressed++; /* Wait about 3 seconds before we can be sure */ if( offline_pressed==3 ) { offline_pressed=0; strcpy(info_buffer, _("\nThe server could not be turned off.\n\n")); strcat(info_buffer, _("Do you have another server running on this port ?\n")); strcat(info_buffer, _("This could be a server running from inetd/xinetd.\n")); info_window = create_info_window (); gtk_widget_show (info_window); } } } /* if online */ if( ! online ) { strcpy(get_buffer, _("The server is offline.\n")); } /* Show ftp usage */ utf8_text = g_locale_to_utf8(get_buffer, strlen(get_buffer), NULL, NULL, NULL); free(get_buffer); xfer_textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(xfer_textview)); gtk_text_buffer_set_text(xfer_textbuffer, utf8_text, strlen(utf8_text)); /* Get the start iter from the buffer */ gtk_text_buffer_get_start_iter(GTK_TEXT_BUFFER(xfer_textbuffer), &xfer_iter); /* Create a mark at the start of the buffer specified by xfer_iter */ mark = gtk_text_buffer_create_mark(GTK_TEXT_BUFFER(xfer_textbuffer), mark_name, &xfer_iter, FALSE); /* Move the mark on screen then scroll to it */ gtk_text_view_move_mark_onscreen(GTK_TEXT_VIEW(xfer_textview), mark); gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(xfer_textview), mark, 0.4, TRUE, 0.0, 0.0); gtk_text_buffer_delete_mark(GTK_TEXT_BUFFER(xfer_textbuffer), mark); if( utf8_text!=NULL ) g_free(utf8_text); return(TRUE); } void list_server_values(GtkWidget *widget, gpointer user_data) { /* Lists the values for the selected server in the server tab */ FILE *fp; GtkWidget *info_window; GtkWidget *global_server_name; GtkWidget *global_bind_tight_on_off; GtkWidget *global_server_admin_email; GtkWidget *global_server_port; GtkWidget *global_passive_ports_1_spinbutton; GtkWidget *global_passive_ports_2_spinbutton; GtkWidget *global_masquerade_entry; GtkWidget *global_masquerade_address_on_off; GtkWidget *global_max_connect; GtkWidget *global_idle_timeout; GtkWidget *global_resume_uploads; GtkWidget *global_resume_downloads; GtkWidget *global_download_bandwidth; GtkWidget *global_upload_bandwidth; GtkWidget *global_delete_aborted_stores; GtkWidget *global_allow_fxp; GtkWidget *global_show_server_identity; GtkWidget *global_show_server_identity_on_off; GtkWidget *global_reverse_lookups; GtkWidget *global_default_transfer_mode; GtkWidget *global_ident_lookups; GtkWidget *global_server_user; GtkWidget *global_server_group; GtkWidget *global_fake_user_entry; GtkWidget *global_fake_group_entry; GtkWidget *global_fake_user_combo; GtkWidget *global_fake_group_combo; GtkWidget *global_time_standard; GtkWidget *global_max_login_attempts; GtkWidget *global_timeout_login; GtkWidget *global_systemlog_entry; GtkWidget *global_rand_username; GtkWidget *global_rand_password; GtkWidget *global_rand_case; GtkWidget *global_useradd_root_path; GtkWidget *global_useradd_upload_path; GtkWidget *global_html_path; GtkWidget *global_welcome_path; GtkWidget *useradd_directory_entry; GtkWidget *useradd_incoming_directory_entry; GtkWidget *html_entry; GtkWidget *welcome_entry; GtkWidget *tls_use_combo_entry, *tls_use_encryption_combo_entry; GtkWidget *tls_verify_clients_combo_entry, *tls_protocols_entry; GtkWidget *tls_rsa_cert_entry, *tls_logfile_entry; GtkWidget *tls_ip_entry, *tls_email_entry, *tls_bits_spinbutton; GtkWidget *tls_password_entry, *tls_challenge_entry, *tls_valid_spinbutton; GtkWidget *tls_country_entry, *tls_state_entry, *tls_city_entry; GtkWidget *tls_org_entry, *tls_org_unit_entry; char *new_buffer, *old_buffer, *address_buffer, *port_buffer, *gprotls_conf, *translate; long size_buffer; gchar *utf8=NULL; int global_int=0, x=0, found=0; tls_use_combo_entry = lookup_widget (GTK_WIDGET (widget), "tls_use_combo_entry"); tls_use_encryption_combo_entry = lookup_widget (GTK_WIDGET (widget), "tls_use_encryption_combo_entry"); tls_verify_clients_combo_entry = lookup_widget (GTK_WIDGET (widget), "tls_verify_clients_combo_entry"); tls_protocols_entry = lookup_widget (GTK_WIDGET (widget), "tls_protocols_entry"); tls_rsa_cert_entry = lookup_widget (GTK_WIDGET (widget), "tls_rsa_cert_entry"); tls_logfile_entry = lookup_widget (GTK_WIDGET (widget), "tls_logfile_entry"); tls_ip_entry = lookup_widget (GTK_WIDGET (widget), "tls_ip_entry"); tls_email_entry = lookup_widget (GTK_WIDGET (widget), "tls_email_entry"); tls_bits_spinbutton = lookup_widget (GTK_WIDGET (widget), "tls_bits_spinbutton"); tls_valid_spinbutton = lookup_widget (GTK_WIDGET (widget), "tls_valid_spinbutton"); tls_password_entry = lookup_widget (GTK_WIDGET (widget), "tls_password_entry"); tls_challenge_entry = lookup_widget (GTK_WIDGET (widget), "tls_challenge_entry"); tls_country_entry = lookup_widget (GTK_WIDGET (widget), "tls_country_entry"); tls_state_entry = lookup_widget (GTK_WIDGET (widget), "tls_state_entry"); tls_city_entry = lookup_widget (GTK_WIDGET (widget), "tls_city_entry"); tls_org_entry = lookup_widget (GTK_WIDGET (widget), "tls_org_entry"); tls_org_unit_entry = lookup_widget (GTK_WIDGET (widget), "tls_org_unit_entry"); global_server_name = lookup_widget (GTK_WIDGET (widget), "global_server_name"); global_bind_tight_on_off = lookup_widget (GTK_WIDGET (widget), "global_bind_tight_on_off"); global_server_admin_email = lookup_widget (GTK_WIDGET (widget), "global_server_admin_email"); global_server_port = lookup_widget (GTK_WIDGET (widget), "global_server_port"); global_passive_ports_1_spinbutton = lookup_widget (GTK_WIDGET (widget), "global_passive_ports_1_spinbutton"); global_passive_ports_2_spinbutton = lookup_widget (GTK_WIDGET (widget), "global_passive_ports_2_spinbutton"); global_masquerade_entry = lookup_widget (GTK_WIDGET (widget), "global_masquerade_entry"); global_masquerade_address_on_off = lookup_widget (GTK_WIDGET (widget), "global_masquerade_address_on_off"); global_max_connect = lookup_widget (GTK_WIDGET (widget), "global_max_connect"); global_idle_timeout = lookup_widget (GTK_WIDGET (widget), "global_idle_timeout"); global_resume_uploads = lookup_widget (GTK_WIDGET (widget), "global_resume_uploads"); global_resume_downloads = lookup_widget (GTK_WIDGET (widget), "global_resume_downloads"); global_download_bandwidth = lookup_widget (GTK_WIDGET (widget), "global_download_bandwidth"); global_upload_bandwidth = lookup_widget (GTK_WIDGET (widget), "global_upload_bandwidth"); global_show_server_identity = lookup_widget (GTK_WIDGET (widget), "global_show_server_identity"); global_show_server_identity_on_off = lookup_widget (GTK_WIDGET (widget), "global_show_server_identity_on_off"); global_reverse_lookups = lookup_widget (GTK_WIDGET (widget), "global_reverse_lookups"); global_default_transfer_mode = lookup_widget (GTK_WIDGET (widget), "global_default_transfer_mode"); global_ident_lookups = lookup_widget (GTK_WIDGET (widget), "global_ident_lookups"); global_allow_fxp = lookup_widget (GTK_WIDGET (widget), "global_allow_fxp"); global_server_user = lookup_widget (GTK_WIDGET (widget), "global_server_user"); global_server_group = lookup_widget (GTK_WIDGET (widget), "global_server_group"); global_fake_user_entry = lookup_widget (GTK_WIDGET (widget), "global_fake_user_entry"); global_fake_user_combo = lookup_widget (GTK_WIDGET (widget), "global_fake_user_combo"); global_fake_group_entry = lookup_widget (GTK_WIDGET (widget), "global_fake_group_entry"); global_fake_group_combo = lookup_widget (GTK_WIDGET (widget), "global_fake_group_combo"); global_time_standard = lookup_widget (GTK_WIDGET (widget), "global_time_standard"); global_max_login_attempts = lookup_widget (GTK_WIDGET (widget), "global_max_login_attempts"); global_timeout_login = lookup_widget (GTK_WIDGET (widget), "global_timeout_login"); global_delete_aborted_stores = lookup_widget (GTK_WIDGET (widget), "global_delete_aborted_stores"); global_systemlog_entry = lookup_widget (GTK_WIDGET (widget), "global_systemlog_entry"); global_rand_username = lookup_widget (GTK_WIDGET (widget), "global_rand_username"); global_rand_password = lookup_widget (GTK_WIDGET (widget), "global_rand_password"); global_rand_case = lookup_widget (GTK_WIDGET (widget), "global_rand_case"); global_useradd_root_path = lookup_widget (GTK_WIDGET (widget), "global_useradd_root_path"); global_useradd_upload_path = lookup_widget (GTK_WIDGET (widget), "global_useradd_upload_path"); global_html_path = lookup_widget (GTK_WIDGET (widget), "global_html_path"); global_welcome_path = lookup_widget (GTK_WIDGET (widget), "global_welcome_path"); useradd_directory_entry = lookup_widget(GTK_WIDGET(widget), "useradd_directory_entry"); useradd_incoming_directory_entry = lookup_widget(GTK_WIDGET(widget), "useradd_incoming_directory_entry"); html_entry = lookup_widget(GTK_WIDGET(widget), "html_entry"); welcome_entry = lookup_widget(GTK_WIDGET(widget), "welcome_entry"); if((fp=fopen(GP_CONF, "r"))==NULL) { /* We just show this popup here too many windows looks bad */ sprintf(info_buffer, "%s %s", _("List server: Cant open proftpd.conf here:\n"), GP_CONF); info_window = create_info_window (); gtk_widget_show (info_window); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, sizeof(char) * size_buffer); new_buffer=(char *)malloc(size_buffer); bzero(new_buffer, sizeof(char) * size_buffer); address_buffer=(char *)malloc(8192+15); bzero(address_buffer, 8192+15); translate=(char *)malloc(1024); bzero(translate, 1024); if( strstr(selected_server_type, "Virtualhost") ) { sprintf(address_buffer, "", selected_server_address); } else sprintf(address_buffer, selected_server_address); port_buffer=(char *)malloc(8192+3); bzero(port_buffer, 8192+3); sprintf(port_buffer, "Port %s", selected_server_port); if( ! strstr((char *)selected_server_type, "Virtualhost") ) found=1; while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(new_buffer); free(address_buffer); free(port_buffer); free(translate); return; } /* We have all the values for the selected default server */ if( strstr(old_buffer, " 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(new_buffer); free(address_buffer); free(port_buffer); free(translate); return; } /* This will expect the servers port on the second line ! * else itll miss some vaules .. */ if( strstr(old_buffer, "Port") && strstr(old_buffer, port_buffer) ) { found=1; break; } if( strstr(old_buffer, "") ) break; } } /* Continue until we find the selected server */ if( ! found ) continue; /* Read and insert the selected servers values in the servers tab */ if( strstr(old_buffer, "ServerName") ) { for(x=0; old_buffer[x]!='\0'; x++) { if( old_buffer[x]=='"' ) break; } x++; if( old_buffer[x]!='\0' ) sprintf(new_buffer, &old_buffer[x]); for(x=0; new_buffer[x]!='\0'; x++) { if( new_buffer[x]=='"' ) { new_buffer[x]='\0'; break; } } utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY (global_server_name), utf8); } if( strstr(old_buffer, "ServerAdmin") ) { sprintf(new_buffer, &old_buffer[12]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY (global_server_admin_email), utf8); } if( strstr(old_buffer, "ServerIdent") ) { for(x=0; old_buffer[x]!='\0'; x++) { if( old_buffer[x]=='"' ) break; } x++; if( old_buffer[x]!='\0' ) sprintf(new_buffer, &old_buffer[x]); for(x=0; new_buffer[x]!='\0'; x++) { if( new_buffer[x]=='"' || new_buffer[x]=='\n' ) { new_buffer[x]='\0'; break; } } utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_show_server_identity), utf8); if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_show_server_identity_on_off), utf8); } if( strstr(old_buffer, "MasqueradeAddress") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %s", new_buffer); if( strlen(new_buffer) > 3 ) { if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_masquerade_entry), utf8); } if( ! strstr(old_buffer, "#") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_masquerade_address_on_off), utf8); } if( strstr(old_buffer, "SocketBindTight") ) { if( strstr(old_buffer, "SocketBindTight on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_bind_tight_on_off), utf8); } /* Dont match passiveports */ if( strstr(old_buffer, "Port") && old_buffer[4]==' ' && ! strstr(old_buffer, "PassivePorts") ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_server_port), global_int); } } if( strstr(old_buffer, "PassivePorts") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_passive_ports_1_spinbutton), global_int); } new_buffer[0]='\0'; sscanf(old_buffer, "%*s %*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer)) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_passive_ports_2_spinbutton), global_int); } } if( strstr(old_buffer, "MaxInstances") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_max_connect), global_int); } } if( strstr(old_buffer, "TimeoutNoTransfer") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_idle_timeout), global_int); } } if( strstr(old_buffer, "AllowStoreRestart") ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_resume_uploads), utf8); } if( strstr(old_buffer, "AllowRetrieveRestart") ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_resume_downloads), utf8); } if( strstr(old_buffer, "TransferRate RETR") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_download_bandwidth), global_int); } } if( strstr(old_buffer, "TransferRate STOR") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_upload_bandwidth), global_int); } } if( strstr(old_buffer, "UseReverseDNS") ) { if( strstr(old_buffer, "UseReverseDNS on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_reverse_lookups), utf8); } if( strstr(old_buffer, "IdentLookups") ) { if( strstr(old_buffer, "IdentLookups on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_ident_lookups), utf8); } if( strstr(old_buffer, "DefaultTransferMode") ) { if( strstr(old_buffer, "binary") ) sprintf(translate, _("binary")); else sprintf(translate, _("ascii")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_default_transfer_mode), utf8); } if( strstr(old_buffer, "User") && old_buffer[4]==' ' ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_server_user), utf8); } if( strstr(old_buffer, "Group") && old_buffer[5]==' ' ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_server_group), utf8); } if( strstr(old_buffer, "DirFakeUser") ) { /* Show the fake username */ sscanf(old_buffer, "%*s %*s %s", new_buffer); utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_fake_user_entry), utf8); /* Show fake user on - off */ sscanf(old_buffer, "%*s %s", new_buffer); if( strstr(new_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_fake_user_combo), utf8); } if( strstr(old_buffer, "DirFakeGroup") ) { /* Show the fake groupname */ sscanf(old_buffer, "%*s %*s %s", new_buffer); utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_fake_group_entry), utf8); /* Show fake group on - off */ sscanf(old_buffer, "%*s %s", new_buffer); if( strstr(new_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_fake_group_combo), utf8); } if( strstr(old_buffer, "AllowForeignAddress") ) { if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_allow_fxp), utf8); } if( strstr(old_buffer, "TimesGMT") ) { if( strstr(old_buffer, "on") ) sprintf(translate, _("GMT")); else sprintf(translate, _("local time")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_time_standard), utf8); } if( strstr(old_buffer, "MaxLoginAttempts") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_max_login_attempts), global_int); } } if( strstr(old_buffer, "TimeoutLogin") ) { new_buffer[0]='\0'; sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_timeout_login), global_int); } } if( strstr(old_buffer, "DeleteAbortedStores") ) { if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (global_delete_aborted_stores), utf8); } if( strstr(old_buffer, "SystemLog") ) { sprintf(new_buffer, &old_buffer[10]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_systemlog_entry), utf8); } if( strstr(old_buffer, "gp_random_username_length") ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_rand_username), global_int); /* Also change the default value */ global_username_randlen=global_int; } } if( strstr(old_buffer, "gp_random_password_length") ) { sscanf(old_buffer, "%*s %s", new_buffer); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; if( is_digitz(new_buffer) ) { global_int=atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(global_rand_password), global_int); /* Also change the default value */ global_password_randlen=global_int; } } if( strstr(old_buffer, "gp_randomize_case") ) { if( strstr(old_buffer, "upper") ) sprintf(translate, _("upper")); else sprintf(translate, _("lower")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_rand_case), utf8); } if( strstr(old_buffer, "gp_useradd_root_path") ) { sprintf(new_buffer, &old_buffer[22]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_useradd_root_path), utf8); /* Add the path to the useradd root directory box and remember the path */ sprintf(gp_useradd_root_path, "%s", new_buffer); gtk_entry_set_text(GTK_ENTRY(useradd_directory_entry), utf8); } if( strstr(old_buffer, "gp_useradd_upload_path") ) { sprintf(new_buffer, &old_buffer[24]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_useradd_upload_path), utf8); /* Add the path to the useradd upload directory box and remember the path */ sprintf(gp_useradd_upload_path, "%s", new_buffer); gtk_entry_set_text(GTK_ENTRY(useradd_incoming_directory_entry), utf8); } if( strstr(old_buffer, "gp_html_path") ) { sprintf(new_buffer, &old_buffer[14]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_html_path), utf8); gtk_entry_set_text(GTK_ENTRY(html_entry), utf8); } if( strstr(old_buffer, "gp_welcome_name") ) { sprintf(new_buffer, &old_buffer[17]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_welcome_path), utf8); gtk_entry_set_text(GTK_ENTRY(welcome_entry), utf8); } if( USE_TLS ) { if( strstr(old_buffer, "TLSEngine") ) { if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(tls_use_combo_entry), utf8); } if( strstr(old_buffer, "TLSRequired") ) { if( strstr(old_buffer, "on") ) sprintf(translate, _("both")); if( strstr(old_buffer, "off") ) sprintf(translate, _("off")); if( strstr(old_buffer, "data") ) sprintf(translate, _("data")); if( strstr(old_buffer, "ctrl") ) sprintf(translate, _("control")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_use_encryption_combo_entry), utf8); } if( strstr(old_buffer, "TLSVerifyClient") ) { if( strstr(old_buffer, "on") ) sprintf(translate, _("on")); else sprintf(translate, _("off")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_verify_clients_combo_entry), utf8); } if( strstr(old_buffer, "TLSProtocol") ) { sprintf(new_buffer, "%s", &old_buffer[12]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_protocols_entry), utf8); } if( strstr(old_buffer, "TLSLog") ) { sprintf(new_buffer, &old_buffer[7]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_logfile_entry), utf8); } if( strstr(old_buffer, "TLSRSACertificateFile") ) { sprintf(new_buffer, &old_buffer[22]); if( new_buffer[strlen(new_buffer)-1]=='\n' || new_buffer[strlen(new_buffer)-1]=='\r' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_rsa_cert_entry), utf8); } } /* If its the default server we stop listing the values when a vhost or anonymous is found */ if( ! strstr("Virtualhost", (char *)selected_server_type) && ( strstr(old_buffer, "") && found ) break; } fclose(fp); free(old_buffer); free(new_buffer); free(address_buffer); free(port_buffer); /* If we dont have the TLS module then dont use it. */ if( USE_TLS ) { /* If we have a gprotls.conf then list the certificate values */ gprotls_conf=(char *)malloc(sizeof(GP_APPCONFDIR)+14); bzero(gprotls_conf, sizeof(GP_APPCONFDIR)+14); sprintf(gprotls_conf, "%s%s", GP_APPCONFDIR, "/gprotls.conf"); if((fp=fopen(gprotls_conf, "r"))==NULL) { } else { fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); new_buffer=(char *)malloc(size_buffer); bzero(new_buffer, size_buffer); while(fgets((char *)old_buffer, size_buffer, fp)!=NULL) { if( strstr(old_buffer, "default_bits") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; global_int = atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tls_bits_spinbutton), global_int); } } } if( strstr(old_buffer, "default_days") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; global_int = atoi(new_buffer); gtk_spin_button_set_value(GTK_SPIN_BUTTON(tls_valid_spinbutton), global_int); } } } if( strstr(old_buffer, "C ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_country_entry), utf8); } } } if( strstr(old_buffer, "ST ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_state_entry), utf8); } } } if( strstr(old_buffer, "L ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_city_entry), utf8); } } } if( strstr(old_buffer, "O ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_org_entry), utf8); } } } if( strstr(old_buffer, "OU ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_org_unit_entry), utf8); } } } if( strstr(old_buffer, "CN ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_ip_entry), utf8); } } } if( strstr(old_buffer, "emailAddress ") ) { for(x=0; old_buffer[x]; x++) { if( old_buffer[x-2]=='=' ) { snprintf(new_buffer, old_buffer[x]+x, old_buffer+x); new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text (GTK_ENTRY (tls_email_entry), utf8); } } } } free(gprotls_conf); free(new_buffer); free(old_buffer); fclose(fp); } } free(translate); if( utf8!=NULL ) g_free(utf8); } void on_servers_treeview_row_activated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { GtkTreeIter iter; GtkTreeModel *list_store; G_CONST_RETURN gchar *server_address; G_CONST_RETURN gchar *server_type; G_CONST_RETURN gchar *server_port; list_store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); gtk_tree_view_get_cursor(GTK_TREE_VIEW(treeview), &path, &column); gtk_tree_model_get_iter(list_store, &iter, path); gtk_tree_model_get(list_store, &iter, 0, &server_address, -1); gtk_tree_model_get(list_store, &iter, 1, &server_port, -1); gtk_tree_model_get(list_store, &iter, 3, &server_type, -1); if( strlen(server_address) > 8000 ) { printf("Server address exceeds 8000 chars, aborting selection\n"); return; } if( strlen(server_port) > 8000 ) { printf("Server port exceeds 8000 chars, aborting selection\n"); return; } if( strlen(server_address)==0 ) { printf("Server address is 0 chars, aborting selection\n"); return; } if( strlen(server_port)==0 ) { printf("Server port length is 0, aborting selection\n"); return; } if( strlen(server_type)==0 ) { printf("Server type length is 0, aborting selection\n"); return; } strcpy(selected_server_address, server_address); strcpy(selected_server_port, server_port); strcpy(selected_server_type, server_type); list_users(userlist_treeview, NULL); list_server_values(userlist_treeview, NULL); } void list_entire (GtkWidget *widget, gpointer user_data) { /* Entire configuration text */ FILE *fp; GtkTextBuffer *entire_text_buffer; GtkWidget *entire_textview; GtkWidget *info_window; gchar *utf8=NULL; long size_buffer; char *buffer, *get_buffer; entire_textview = lookup_widget (GTK_WIDGET (widget), "entire_textview"); if((fp=fopen(GP_CONF, "r"))==NULL) { /* No popup, we dont need to show this several times */ return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); buffer=(char *)malloc(size_buffer); bzero(buffer, size_buffer); get_buffer=(char *)malloc(size_buffer+1024); bzero(get_buffer, size_buffer+1024); while(fgets(buffer, size_buffer, fp)!=NULL) { if( strlen(buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(buffer); free(get_buffer); return; } strcat(get_buffer, buffer); } utf8 = g_locale_to_utf8(get_buffer, strlen(get_buffer), NULL, NULL, NULL); entire_text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(entire_textview)); gtk_text_buffer_set_text(entire_text_buffer, utf8, strlen(utf8)); fclose(fp); if(utf8 !=NULL) g_free(utf8); free(buffer); free(get_buffer); } int is_banned(char *user) { /* Is this user banned */ FILE *fp; char *old_buffer, *user_buffer; int ret=0, i=0; long size_buffer; if((fp=fopen(GP_FTPUSERS, "r"))==NULL) { /* if there is no xferlog the user isnt banned */ return 0; } fseek(fp, 0, SEEK_END); size_buffer=ftell(fp); rewind(fp); user_buffer=(char *)malloc(8192); bzero(user_buffer, 8192); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strstr(old_buffer, user) ) { sscanf(old_buffer, "%s", user_buffer); for(i=0; user_buffer[i]!='\0'; i++) { if( user_buffer[i]=='\n' || user_buffer[i]=='\r' ) user_buffer[i]='\0'; } if( ! strcmp(user_buffer, user) ) { ret=1; break; } } } free(old_buffer); free(user_buffer); fclose(fp); return ret; } void list_users(GtkWidget *widget, gpointer user_data) { FILE *fp; GtkListStore *model; GtkCellRenderer *cell; GtkTreeIter iter; GtkTreePath *path; char *old_buffer, *new_buffer, *address_buffer, *port_buffer, *translate; long size_buffer; gboolean edit=0; int found=0, found_server=0; gchar *utf8=NULL; GtkTreeViewColumn *user_column, *group_column, *maxclients_column, *require_column, *banned_column, *maximum_column; userlist_treeview = lookup_widget (GTK_WIDGET (widget), "userlist_treeview"); model = gtk_list_store_new(6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_MODEL (model)); cell = gtk_cell_renderer_text_new(); user_column = gtk_tree_view_column_new_with_attributes(_("User"), cell, "text", 0, NULL); group_column = gtk_tree_view_column_new_with_attributes(_("Group"), cell, "text", 1, NULL); maxclients_column = gtk_tree_view_column_new_with_attributes(_("Root directory"), cell, "text", 2, NULL); require_column = gtk_tree_view_column_new_with_attributes(_("Require password"), cell, "text", 3, NULL); banned_column = gtk_tree_view_column_new_with_attributes(_("Banned"), cell, "text", 4, NULL); maximum_column = gtk_tree_view_column_new_with_attributes(_("Maximum connections"), cell, "text", 5, NULL); gtk_list_store_clear(model); /* Populate the userlist */ if((fp = fopen(GP_CONF, "r"))==NULL) { /* Dont show a popup */ printf("Error opening: [%s] for listing users\n", GP_CONF); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); new_buffer=(char *)malloc(size_buffer+8192); bzero(new_buffer, size_buffer+8192); address_buffer=(char *)malloc(8192+15); bzero(address_buffer, 8192+15); port_buffer=(char *)malloc(8192+3); bzero(port_buffer, 8192+3); if( strstr((char *)selected_server_type, "Virtualhost") ) { sprintf(address_buffer, "\n", selected_server_address); } else sprintf(address_buffer, selected_server_address); sprintf(port_buffer, "Port %s\n", selected_server_port); if( strstr((char *)selected_server_type, "Virtualhost") ) { while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* If its the correct address */ if( ! strcmp(old_buffer, address_buffer) ) { while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* List only one Vhost */ if( strstr(old_buffer, "") ) break; if( ! strcmp(old_buffer, port_buffer) ) { found_server=1; /* Scroll past some stuff to ") ) break; } } } fclose(fp); free(old_buffer); free(new_buffer); free(address_buffer); free(port_buffer); if( utf8 !=NULL ) g_free(utf8); /* Unref the model */ g_object_unref(model); /* Cant set treepath if there arent any users/rows, then itll crash */ if( ! found ) return; path=gtk_tree_path_new_first(); gtk_tree_view_set_cursor(GTK_TREE_VIEW(userlist_treeview), path, NULL, edit); gtk_tree_path_free(path); } void list_servers(GtkWidget *widget, gpointer user_data) { /* Lists all the servers in the serverlist */ FILE *fp; GtkWidget *servers_treeview; GtkWidget *info_window; GtkListStore *model; GtkCellRenderer *cell; GtkTreeIter iter; GtkTreePath *path; GtkTreeViewColumn *servers_ip_column, *servers_port_column, *servers_name_column, *servers_type_column; char *old_buffer, *new_buffer; long size_buffer; gboolean edit=0; int found=0, one_popup=0; gchar *utf8=NULL; servers_treeview = lookup_widget(GTK_WIDGET(widget), "servers_treeview"); model = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(servers_treeview), GTK_TREE_MODEL(model)); cell = gtk_cell_renderer_text_new(); /* username direction filename Bytes start host */ servers_ip_column = gtk_tree_view_column_new_with_attributes(_("Address"), cell, "text", 0, NULL); servers_port_column = gtk_tree_view_column_new_with_attributes(_("Port"), cell, "text", 1, NULL); servers_name_column = gtk_tree_view_column_new_with_attributes(_("Name"), cell, "text", 2, NULL); servers_type_column = gtk_tree_view_column_new_with_attributes(_("Type"), cell, "text", 3, NULL); gtk_list_store_clear(model); /* Populate the serverlist */ if((fp=fopen(GP_CONF, "r"))==NULL) { /* Dont show annoying popup */ return; } fseek(fp, 0, SEEK_END); size_buffer=ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); if( old_buffer==NULL ) { sprintf(info_buffer, _("list_servers: Could not allocate enough memory\n")); info_window=create_info_window(); gtk_widget_show(info_window); return; } bzero(old_buffer, size_buffer); new_buffer=(char *)malloc(size_buffer); if( new_buffer==NULL ) { sprintf(info_buffer, _("list_servers: Could not allocate enough memory\n")); info_window=create_info_window(); gtk_widget_show(info_window); return; } bzero(new_buffer, size_buffer); /* Insert an address of "All interfaces" for the default server. * This will be shown if nothing else that specifies a specific address is found for this server. */ /* Add a row */ gtk_list_store_append(GTK_LIST_STORE(model), &iter); /* If no bindaddress is found itll use this server description */ utf8 = g_locale_to_utf8("All interfaces", 14, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, utf8, -1); /* List the default server first */ while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strstr(old_buffer, " 8000 ) { if( ! one_popup ) { sprintf(info_buffer, _("An entry in: %s\n is too long, please correct it.\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); one_popup=1; } continue; } /* SocketBindTight on or off will offline the default server */ /* The default server binds to a specific address, show this address */ if( strstr(old_buffer, "Bind ") && ! strstr(old_buffer, "SocketBindTight ") ) { sprintf(new_buffer, "%s", &old_buffer[6]); new_buffer[strlen(new_buffer)-2]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, utf8, -1); } if( strstr(old_buffer, "Port ") && ! strstr(old_buffer, "PassivePorts ") && ! strstr(old_buffer, "standard") ) { /* Insert the ipaddress or hostname */ sprintf(new_buffer, "%s", &old_buffer[5]); new_buffer[strlen(new_buffer)-1]='\0'; /* Add the port to the global variable selected_server_port */ strcpy(selected_server_port, new_buffer); /* Insert the port */ utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, utf8, -1); /* Insert the type */ utf8 = g_locale_to_utf8("Default server", 14, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 3, utf8, -1); } if( strstr(old_buffer, "ServerName ") || strstr(old_buffer, "ServerIdent on ") ) { utf8 = g_locale_to_utf8("Default server", 14, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 3, utf8, -1); if( strstr(old_buffer, "ServerIdent on ") ) { sprintf(new_buffer, "%s", &old_buffer[16]); new_buffer[strlen(new_buffer)-2]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 2, utf8, -1); } if( strstr(old_buffer, "ServerName ") ) { sprintf(new_buffer, "%s", &old_buffer[12]); new_buffer[strlen(new_buffer)-2]='\0'; utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 2, utf8, -1); } } } /* End of listing the default server */ /* List the VirtualHosts */ found=0; rewind(fp); while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strstr(old_buffer, " and there is no need to since itll set Bind to the servername's "address" anyhow if Bind is used. */ } fclose(fp); free(old_buffer); free(new_buffer); if( utf8 !=NULL ) g_free(utf8); /* Unref the model */ g_object_unref(model); /* Cant set treepath if there arent any servers/rows, then itll crash */ if( ! found ) return; path=gtk_tree_path_new_first(); gtk_tree_view_set_cursor(GTK_TREE_VIEW(servers_treeview), path, NULL, edit); gtk_tree_path_free(path); } void list_disc(GtkWidget *widget, gpointer user_data) { /* Update the disc tab */ FILE *fp; GtkWidget *disc_treeview; GtkListStore *model; GtkTreeIter iter; GtkCellRenderer *cell; GtkTreeViewColumn *mount_column, *free_column, *used_column, *total_column, *percent_column, *device_column; gchar *utf8=NULL; char buf[MAX_READ_POPEN]=""; char mount[8192]="", free[1024]="", used[1024]="", total[1024]="", percent[1024]="", device[8192]=""; disc_treeview = lookup_widget (GTK_WIDGET (widget), "disc_treeview"); model = gtk_list_store_new(6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(disc_treeview), GTK_TREE_MODEL (model)); cell = gtk_cell_renderer_text_new(); gtk_list_store_clear(model); mount_column = gtk_tree_view_column_new_with_attributes(_("Mounted on"), cell, "text", 0, NULL); free_column = gtk_tree_view_column_new_with_attributes(_("Free space"), cell, "text", 1, NULL); used_column = gtk_tree_view_column_new_with_attributes(_("Used space"), cell, "text", 2, NULL); total_column = gtk_tree_view_column_new_with_attributes(_("Total space"), cell, "text", 3, NULL); percent_column = gtk_tree_view_column_new_with_attributes(_("Percent used"), cell, "text", 4, NULL); device_column = gtk_tree_view_column_new_with_attributes(_("Device"), cell, "text", 5, NULL); if((fp=popen(DISC_USAGE, "r"))==NULL) { printf("\nError running %s\n", DISC_USAGE); return; } fflush(fp); while(fgets(buf, MAX_READ_POPEN, fp)!=NULL) { sscanf(buf, "%s %s %s %s %s %s", device, total, used, free, percent, mount); gtk_list_store_append(GTK_LIST_STORE(model), &iter); utf8 = g_locale_to_utf8(mount, strlen(mount), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, utf8, -1); utf8 = g_locale_to_utf8(free, strlen(free), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, utf8, -1); utf8 = g_locale_to_utf8(used, strlen(used), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 2, utf8, -1); utf8 = g_locale_to_utf8(total, strlen(total), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 3, utf8, -1); utf8 = g_locale_to_utf8(percent, strlen(percent), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 4, utf8, -1); utf8 = g_locale_to_utf8(device, strlen(device), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 5, utf8, -1); } pclose(fp); /* Unref the model */ g_object_unref(model); if(utf8 !=NULL) g_free(utf8); } void list_secure(GtkWidget *widget, gpointer user_data) { FILE *fp; GtkWidget *info_window; GtkWidget *security_successful_textview; GtkWidget *security_refused_textview; long sizebuffer; char *s_buf; char *get_s_buf; gchar *utf8=NULL; GtkTextBuffer *security_text_buffer; if((fp=fopen(GP_SECURE, "r"))==NULL) { /* Notify (makes debugging easier) */ sprintf(info_buffer, "%s %s", _("Cant open the securitylog here:\n"), GP_SECURE); info_window = create_info_window(); gtk_widget_show(info_window); return; } security_successful_textview = lookup_widget (GTK_WIDGET (widget), "security_successful_textview"); security_refused_textview = lookup_widget (GTK_WIDGET (widget), "security_refused_textview"); fseek(fp, 0, SEEK_END); sizebuffer = ftell(fp); rewind(fp); s_buf=(char *)malloc(sizebuffer); bzero(s_buf, sizebuffer); if( s_buf==NULL ) { printf("Memory allocation failed for reading: %s\n", GP_SECURE); sprintf(info_buffer, "%s %s", _("Could not allocate enough memory to read:\n"), GP_SECURE); info_window = create_info_window(); gtk_widget_show(info_window); if( utf8!=NULL) g_free(utf8); return; } get_s_buf=(char *)malloc(sizebuffer+1024); bzero(get_s_buf, sizebuffer+1024); if( get_s_buf==NULL ) { printf("Memory allocation failed for reading: %s\n", GP_SECURE); sprintf(info_buffer, "%s %s", _("Could not allocate enough memory to read:\n"), GP_SECURE); info_window = create_info_window(); gtk_widget_show(info_window); free(s_buf); if( utf8!=NULL) g_free(utf8); return; } while(fgets(s_buf, sizebuffer, fp)!=NULL) { if( strlen(s_buf) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_SECURE); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(s_buf); free(get_s_buf); if( utf8!=NULL) g_free(utf8); return; } if( strstr(s_buf, "Login successful") ) { strcat(get_s_buf, s_buf); } } security_text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(security_successful_textview)); utf8 = g_locale_to_utf8(get_s_buf, strlen(get_s_buf), NULL, NULL, NULL); gtk_text_buffer_set_text(security_text_buffer, utf8, strlen(utf8)); fclose(fp); if((fp=fopen(GP_SECURE, "r"))==NULL) { /* No need to notify, done at startup */ free(s_buf); free(get_s_buf); if( utf8!=NULL) g_free(utf8); return; } bzero(s_buf, sizebuffer); bzero(get_s_buf, sizebuffer+1024); while(fgets(s_buf, sizebuffer, fp)!=NULL) { if( ! strstr(s_buf, "proftpd") ) continue; if( strlen(s_buf) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_SECURE); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(s_buf); free(get_s_buf); if( utf8!=NULL) g_free(utf8); return; } if( strstr(s_buf, "Login failed") ) { strcat(get_s_buf, s_buf); } if( strstr(s_buf, "refused") ) { strcat(get_s_buf, s_buf); } if( strstr(s_buf, "no such user") ) { strcat(get_s_buf, s_buf); } if( strstr(s_buf, "Maximum login attempts") ) { strcat(get_s_buf, s_buf); } if( strstr(s_buf, "SECURITY VIOLATION") ) { strcat(get_s_buf, s_buf); } } security_text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(security_refused_textview)); utf8 = g_locale_to_utf8(get_s_buf, strlen(get_s_buf), NULL, NULL, NULL); gtk_text_buffer_set_text(security_text_buffer, utf8, strlen(utf8)); fclose(fp); if(utf8!=NULL) g_free(utf8); free(s_buf); free(get_s_buf); } void list_files(GtkWidget *widget, gpointer user_data) { FILE *fp; GtkWidget *files_treeview; GtkWidget *info_window; GtkListStore *model; GtkCellRenderer *cell; GtkTreeIter iter; GtkTreePath *path; GtkTreeViewColumn *files_username_column, *files_action_column, *files_name_column, *files_size_column; GtkTreeViewColumn *files_start_column, *files_host_column; char *old_buffer, *new_buffer; long size_buffer; gboolean edit=0; int begin=0, end=0, i=0, count=0, found=0, one_popup=0; int max_line_len=1024, max_username_len=40; gchar *utf8=NULL; files_treeview = lookup_widget(GTK_WIDGET(widget), "files_treeview"); model = gtk_list_store_new(6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(files_treeview), GTK_TREE_MODEL (model)); cell = gtk_cell_renderer_text_new(); /* username direction filename Bytes start host */ files_username_column = gtk_tree_view_column_new_with_attributes(_("Username"), cell, "text", 0, NULL); files_action_column = gtk_tree_view_column_new_with_attributes(_("Action"), cell, "text", 1, NULL); files_name_column = gtk_tree_view_column_new_with_attributes(_("Filename"), cell, "text", 2, NULL); files_size_column = gtk_tree_view_column_new_with_attributes(_("Bytes"), cell, "text", 3, NULL); files_start_column = gtk_tree_view_column_new_with_attributes(_("Start of transfer"), cell, "text", 4, NULL); files_host_column = gtk_tree_view_column_new_with_attributes(_("Remote host"), cell, "text", 5, NULL); gtk_list_store_clear(model); /* Populate the filelist */ if((fp=fopen(GP_XFERLOG, "r"))==NULL) { /* Dont show another annoying popup */ return; } fseek(fp, 0, SEEK_END); size_buffer=ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); if( old_buffer==NULL ) { sprintf(info_buffer, _("list_files: Could not allocate enough memory\n")); info_window=create_info_window(); gtk_widget_show(info_window); return; } bzero(old_buffer, size_buffer); /* Min allocate + 1024 */ new_buffer=(char *)malloc(max_line_len+1024); if( new_buffer==NULL ) { sprintf(info_buffer, _("list_files: Could not allocate enough memory\n")); info_window=create_info_window(); gtk_widget_show(info_window); free(old_buffer); return; } bzero(new_buffer, max_line_len+1024); while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) < 10 ) continue; /* Add a row */ gtk_list_store_append(GTK_LIST_STORE(model), &iter); /* So the user doesnt wonder why its slow if alot of files with very long names are uploaded */ if( !one_popup && strlen(old_buffer) > max_line_len ) { sprintf(info_buffer, _("An entry in: %s\n is too long and has been shortened.\n"), GP_XFERLOG); strcat(info_buffer, _("Alot of these extremely long filnames will decrease startup speed.\n")); info_window=create_info_window(); gtk_widget_show(info_window); one_popup=1; } /* ------------- FILES ------------ */ /* If we find a / then heres where the filepath begins 8 spaces from the start */ for(i=0; old_buffer[i]!='\0'; i++) { if( old_buffer[i]=='/' ) { begin=i; break; } } /* The file end is 9 spaces from the end */ count=0; for(i=strlen(old_buffer)-1; old_buffer[i]!='\0'; i--) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') count++; if( count==9 ) { end=i; break; } } bzero(new_buffer, max_line_len+1024); if( end-begin > max_line_len ) { while( end-begin > max_line_len ) end--; strncat(new_buffer, &old_buffer[begin], end); } else strncat(new_buffer, &old_buffer[begin], end); if( new_buffer[strlen(new_buffer)-1]!='\0' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, end-begin, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 2, utf8, -1); /* ------------- FILES END ------------ */ /* ------------- Start Date ----------- */ count=0; for(i=0; old_buffer[i]!='\0'; i++) { /* Day can be " 2" or "20" etc */ if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') { count++; end=i; } if( count==5 ) break; } if( end <= max_line_len ) { utf8 = g_locale_to_utf8(old_buffer, end, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 4, utf8, -1); } /* ------------- Start Date End ----------- */ /* ------------- Host ----------- */ count=0; for(i=0; old_buffer[i]!='\0'; i++) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') { count++; begin=i; } if( count==6 ) break; } count=0; for(i=begin+1; old_buffer[i]!='\0'; i++) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') { end=i; break; } } bzero(new_buffer, max_line_len+1024); if( end-begin > max_line_len ) { while( end-begin > max_line_len ) end--; strncat(new_buffer, &old_buffer[begin], end); } else strncat(new_buffer, &old_buffer[begin], end); if( new_buffer[strlen(new_buffer)-1]!='\0' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, end-begin, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 5, utf8, -1); /* ------------- Host End ----------- */ /* ------------- Bytes ----------- */ count=0; for(i=0; old_buffer[i]!='\0'; i++) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') { count++; begin=i; } if( count==7 ) break; } count=0; for(i=begin+1; old_buffer[i]!='\0'; i++) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') { end=i; break; } } bzero(new_buffer, max_line_len+1024); if( end-begin > max_line_len ) { while( end-begin > max_line_len ) end--; strncat(new_buffer, &old_buffer[begin], end); } else strncat(new_buffer, &old_buffer[begin], end); if( new_buffer[strlen(new_buffer)-1]!='\0' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, end-begin, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 3, utf8, -1); /* ------------- Bytes End ----------- */ /* ------------- Username ----------- */ count=0; begin=0; end=0; for(i=strlen(old_buffer)-1; old_buffer[i]!='\0'; i--) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') count++; if( count==5 ) { begin=i; break; } } for(i=begin+1; old_buffer[i]!='\0'; i++) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') { end=i; break; } } bzero(new_buffer, max_line_len+1024); if( end-begin > max_username_len ) { while( end-begin > max_username_len ) end--; strncat(new_buffer, &old_buffer[begin], end); } else strncat(new_buffer, &old_buffer[begin], end); if( new_buffer[strlen(new_buffer)-1]!='\0' ) new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(new_buffer, end-begin, NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, utf8, -1); /* ------------- Username End ----------- */ /* ------------- Action (upload/download/delete) ----------------- */ count=0; begin=0; end=0; for(i=strlen(old_buffer)-1; old_buffer[i]!='\0'; i--) { if( old_buffer[i]==' ' && old_buffer[i+1]!=' ') count++; if( count==7 ) { begin=i+1; break; } } end=begin+1; bzero(new_buffer, max_line_len+1024); /* The legth is always 1 */ strncat(new_buffer, &old_buffer[begin], end); if( new_buffer[strlen(new_buffer)-1]!='\0' ) new_buffer[strlen(new_buffer)-1]='\0'; if( strstr(new_buffer, "i") ) sprintf(new_buffer, "%s", _("uploaded")); else if( strstr(new_buffer, "o") ) sprintf(new_buffer, "%s", _("downloaded")); else if( strstr(new_buffer, "d") ) sprintf(new_buffer, "%s", _("deleted")); utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_list_store_set(GTK_LIST_STORE(model), &iter, 1, utf8, -1); /* ------------- Action End ------------- */ found=1; } fclose(fp); free(old_buffer); free(new_buffer); if( utf8 !=NULL ) g_free(utf8); /* Unref the model */ g_object_unref(model); /* Cant set treepath if there arent any users/rows, then itll crash */ if( ! found ) return; path=gtk_tree_path_new_first(); gtk_tree_view_set_cursor(GTK_TREE_VIEW(files_treeview), path, NULL, edit); gtk_tree_path_free(path); } void on_yes_default_question_button_clicked (GtkButton *button, gpointer user_data) { /* This adds the default configuration */ FILE *fp; GtkWidget *info_window; GtkWidget *default_question_window; char *default_buffer; default_question_window=lookup_widget(GTK_WIDGET(button), "default_question_window"); /* Add the default configuration */ if((fp=fopen(GP_CONF, "w+"))==NULL) { sprintf(info_buffer, "%s %s %s", _("Cant write the new proftpd.conf here:\n"), GP_CONF, _("\nRun GProFTPD as root\n")); info_window=create_info_window(); gtk_widget_show(info_window); return; } else { default_buffer=(char *)malloc(16384); bzero(default_buffer, 16384); if( default_buffer==NULL ) { sprintf(info_buffer, _("Cant allocate enough memory for the default values\n")); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); return; } /* These first 3 are not in the global tab, add inetd functions ? */ strcpy(default_buffer, "ServerType standalone\n"); strcat(default_buffer, "DefaultServer on\n"); strcat(default_buffer, "Umask 022\n"); /* Default configuration list */ strcat(default_buffer, "ServerName \"0.0.0.0\"\n"); strcat(default_buffer, "ServerIdent on \"My FTPD\"\n"); /* Ask TJ about possible implications */ strcat(default_buffer, "Bind \"0.0.0.0\"\n"); strcat(default_buffer, "ServerAdmin Admin@this.domain.topdomain\n"); strcat(default_buffer, "IdentLookups off\n"); strcat(default_buffer, "UseReverseDNS off\n"); strcat(default_buffer, "Port 21\n"); /* The IANA-registered ephemeral port range */ strcat(default_buffer, "PassivePorts 49152 65534\n"); strcat(default_buffer, "#MasqueradeAddress None\n"); strcat(default_buffer, "TimesGMT off\n"); strcat(default_buffer, "MaxInstances 30\n"); strcat(default_buffer, "MaxLoginAttempts 3\n"); strcat(default_buffer, "TimeoutLogin 300\n"); strcat(default_buffer, "TimeoutNoTransfer 120\n"); strcat(default_buffer, "TimeoutIdle 120\n"); strcat(default_buffer, "User "); strcat(default_buffer, NOBODY); strcat(default_buffer, "\nGroup "); strcat(default_buffer, NOBODY); strcat(default_buffer, "\nDirFakeUser off "); strcat(default_buffer, NOBODY); strcat(default_buffer, "\nDirFakeGroup off "); strcat(default_buffer, NOBODY); strcat(default_buffer, "\nDefaultTransferMode binary\n"); strcat(default_buffer, "AllowForeignAddress on\n"); strcat(default_buffer, "AllowRetrieveRestart on\n"); strcat(default_buffer, "AllowStoreRestart on\n"); strcat(default_buffer, "DeleteAbortedStores off\n"); strcat(default_buffer, "TransferRate RETR 30\n"); strcat(default_buffer, "TransferRate STOR 40\n"); strcat(default_buffer, "TransferRate STOU 40\n"); strcat(default_buffer, "TransferRate APPE 40\n"); strcat(default_buffer, "SystemLog "); strcat(default_buffer, GP_VARDIR); strcat(default_buffer, "/log/secure\n"); strcat(default_buffer, "#gp_random_username_length 6\n"); strcat(default_buffer, "#gp_random_password_length 6\n"); strcat(default_buffer, "#gp_randomize_case lower\n"); strcat(default_buffer, "#gp_useradd_root_path "); strcat(default_buffer, USERSHOME); strcat(default_buffer, "ftp\n"); strcat(default_buffer, "#gp_useradd_upload_path /upload\n"); strcat(default_buffer, "#gp_html_path "); strcat(default_buffer, GP_VARDIR); strcat(default_buffer, "/www/ftp.html\n"); strcat(default_buffer, "#gp_welcome_name welcome.msg\n"); /* By default TLS is off even if the module is compiled in */ strcat(default_buffer, "\n"); strcat(default_buffer, "TLSEngine off\n"); strcat(default_buffer, "TLSRequired off\n"); strcat(default_buffer, "TLSVerifyClient off\n"); strcat(default_buffer, "TLSProtocol TLSv1\n"); strcat(default_buffer, "TLSLog "); strcat(default_buffer, GP_VARDIR); strcat(default_buffer, "/log/proftpd_tls.log\n"); strcat(default_buffer, "TLSRSACertificateFile "); strcat(default_buffer, GP_APPCONFDIR); strcat(default_buffer, "/gproftpd.pem\n"); // strcat(default_buffer, "#CA the server trusts\n"); // strcat(default_buffer, "#TLSCACertificateFile /home/certs/root.cert.pem\n"); strcat(default_buffer, "\n"); // strcat(default_buffer, "\n"); for 8.1.1 strcat(default_buffer, "\n"); /* All added users gets an AllowUser UserName here */ strcat(default_buffer, " DenyALL\n"); strcat(default_buffer, "\n"); // strcat(default_buffer, "\n"); both for 8.1.1 // strcat(default_buffer, "#--End of the main configuration--#\n\n"); fputs(default_buffer, fp); fclose(fp); free(default_buffer); list_server_values(userlist_treeview, NULL); list_entire(userlist_treeview, NULL); list_users(userlist_treeview, NULL); list_servers(userlist_treeview, NULL); } gtk_widget_destroy(default_question_window); } void on_no_default_question_button_clicked (GtkButton *button, gpointer user_data) { /* The user might want to use his/her own conf */ GtkWidget *default_question_window; list_server_values(userlist_treeview, NULL); list_entire(userlist_treeview, NULL); list_users(userlist_treeview, NULL); default_question_window=lookup_widget(GTK_WIDGET(button), "default_question_window"); gtk_widget_destroy(default_question_window); } void on_gproftpd_window_map (GtkWidget *widget, gpointer user_data) { /* This takes care of populating all the relevant widgets * and making sure the environment is sane at startup. */ FILE *fp; GtkWidget *gproftpd_window; GtkWidget *info_window; GtkWidget *files_treeview; GtkWidget *servers_treeview; GtkWidget *default_question_window; GtkWidget *add_systemuser_question_window; GtkWidget *xfer_textview; GtkWidget *xfer_scrolledwindow; GtkWidget *total_incoming_entry; GtkWidget *total_outgoing_entry; GtkWidget *disc_treeview; GtkWidget *proftpd_version_label; GtkWidget *gproftpd_version_label; GtkWidget *status_label; GtkWidget *shell_combo; /* take away later.. only for upgrades to version 8.1.0 */ GtkWidget *global_useradd_root_path; GtkWidget *global_useradd_upload_path; GtkWidget *tls_hbox1; GtkWidget *tls_hbox2; GtkWidget *tls_hbox3; GtkWidget *tls_hbox4; GtkWidget *tls_hbox5; GtkWidget *tls_hbox6; GtkWidget *tls_label1; GtkWidget *tls_label2; GtkWidget *tls_label3; GtkWidget *tls_hseparator1; GtkWidget *tls_hseparator2; GdkPixbuf *main_window_pixbuf; GtkCellRenderer *pixmap_cell; GtkTreeViewColumn *user_column, *group_column, *maxclients_column, *require_column, *banned_column,*maximum_column; GtkTreeViewColumn *mount_column, *free_column, *used_column, *total_column, *percent_column, *device_column; GtkTreeViewColumn *files_username_column, *files_action_column, *files_name_column, *files_size_column; GtkTreeViewColumn *files_start_column, *files_host_column; GtkTreeViewColumn *servers_ip_column, *servers_port_column, *servers_name_column, *servers_type_column; char *versionbuffer, *get_buffer, *buffer; char *new_buffer, *shell, *username; char tempo[4096]=""; GtkListStore *user_model, *disc_model, *files_model, *servers_model; GtkCellRenderer *cell; long size_buffer; GList *items = NULL; gchar *utf8=NULL; int found_conf=0, found_shell=0; disc_treeview = lookup_widget(GTK_WIDGET(widget), "disc_treeview"); files_treeview = lookup_widget(GTK_WIDGET(widget), "files_treeview"); servers_treeview = lookup_widget(GTK_WIDGET(widget), "servers_treeview"); /* Globals */ userlist_treeview = lookup_widget(GTK_WIDGET(widget), "userlist_treeview"); useradd_directory_entry = lookup_widget(GTK_WIDGET(widget), "useradd_directory_entry"); useradd_incoming_directory_entry = lookup_widget(GTK_WIDGET(widget), "useradd_incoming_directory_entry"); /* Take away later, make sure we have some paths for upgrading users, version 8.1.0 */ global_useradd_root_path = lookup_widget(GTK_WIDGET(widget), "global_useradd_root_path"); global_useradd_upload_path = lookup_widget(GTK_WIDGET(widget), "global_useradd_upload_path"); useradd_directory_entry = lookup_widget(GTK_WIDGET(widget), "useradd_directory_entry"); useradd_incoming_directory_entry = lookup_widget(GTK_WIDGET(widget), "useradd_incoming_directory_entry"); sprintf(gp_useradd_root_path, "%sftp", USERSHOME); utf8 = g_locale_to_utf8(gp_useradd_root_path, strlen(gp_useradd_root_path), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_useradd_root_path), utf8); gtk_entry_set_text(GTK_ENTRY(useradd_directory_entry), utf8); sprintf(gp_useradd_upload_path, "/upload"); utf8 = g_locale_to_utf8(gp_useradd_upload_path, strlen(gp_useradd_upload_path), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(global_useradd_upload_path), utf8); gtk_entry_set_text(GTK_ENTRY(useradd_incoming_directory_entry), utf8); tls_hbox1 = lookup_widget (GTK_WIDGET (widget), "tls_hbox1"); tls_hbox2 = lookup_widget (GTK_WIDGET (widget), "tls_hbox2"); tls_hbox3 = lookup_widget (GTK_WIDGET (widget), "tls_hbox3"); tls_hbox4 = lookup_widget (GTK_WIDGET (widget), "tls_hbox4"); tls_hbox5 = lookup_widget (GTK_WIDGET (widget), "tls_hbox5"); tls_hbox6 = lookup_widget (GTK_WIDGET (widget), "tls_hbox6"); tls_label1 = lookup_widget (GTK_WIDGET (widget), "tls_label1"); tls_label2 = lookup_widget (GTK_WIDGET (widget), "tls_label2"); tls_label3 = lookup_widget (GTK_WIDGET (widget), "tls_label3"); tls_hseparator1 = lookup_widget (GTK_WIDGET (widget), "tls_hseparator1"); tls_hseparator2 = lookup_widget (GTK_WIDGET (widget), "tls_hseparator2"); /* Setup the main window icon */ pixmap_cell = gtk_cell_renderer_pixbuf_new(); main_window_pixbuf=create_pixbuf("gproftpd.png"); g_object_set(pixmap_cell, "pixbuf", main_window_pixbuf, NULL); gproftpd_window = lookup_widget (GTK_WIDGET (widget), "gproftpd_window"); gtk_window_set_icon (GTK_WINDOW (gproftpd_window), main_window_pixbuf); gdk_pixbuf_unref(main_window_pixbuf); /* Check if proftpd.conf exists */ if((fp=fopen(GP_CONF, "r"))==NULL) { /* Report nothing */ } else { /* We have found a conf but is it gproftpd's configuration */ found_conf=1; /* Check if this is the default basic proftpd.conf */ fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); buffer=(char *)malloc(size_buffer); bzero(buffer, sizeof(char) * size_buffer); if( buffer==NULL ) { printf("Cant allocate enough memory for the configuration.\n"); sprintf(info_buffer, _("Cant allocate enough memory for the configuration.\n")); info_window = create_info_window (); gtk_widget_show (info_window); fclose(fp); return; } while(fgets(buffer, size_buffer, fp)!=NULL) { if( strstr(buffer, "Port 21 is the standard") ) { /* If the user has this conf most things wont work as intended */ found_conf=0; break; } } fclose(fp); free(buffer); } /* If the NOBODY user the server runs as doesnt exist, add it * and also add the SHELL if that doesnt exist. */ username=(char *)malloc(8192); bzero(username, 8192); sprintf(username, "%s", NOBODY); if( ! user_exists(username) ) { add_systemuser_question_window=create_add_systemuser_question_window(); gtk_widget_show(add_systemuser_question_window); } free(username); /* Set proftpd version in the proftpd version entry */ versionbuffer=(char *)malloc(8192); bzero(versionbuffer, 8192); if((fp=popen("proftpd -v 2>&1 |awk '{print $4}' |tr -d \"\r\n\"", "r"))==NULL) { sprintf(info_buffer, "%s %s", _("Cant get version from: \"proftpd -v\"\n"), _("ProFTPD must be installed and be in your path.\n")); info_window = create_info_window (); gtk_widget_show (info_window); } else { fflush(fp); while((fgets(versionbuffer, 8192, fp)!=NULL)) { } if( strlen(versionbuffer) < 30 && strlen(versionbuffer) > 0 ) { buffer=(char *)malloc(8192); bzero(buffer, 8192); sprintf(buffer, _("Proftpd version: %s"), versionbuffer); sprintf(versionbuffer, buffer); utf8 = g_locale_to_utf8(versionbuffer, strlen(versionbuffer), NULL, NULL, NULL); proftpd_version_label = lookup_widget (GTK_WIDGET (widget), "proftpd_version_label"); gtk_label_set_text(GTK_LABEL(proftpd_version_label), utf8); free(buffer); /* gtk_label_set_markup(GTK_LABEL(info_label3), "hejhoppz"); */ } pclose(fp); } /* Set GProftpd version from configure.in in the GProftpd version entry */ if( strlen(VERSION) < 30 && strlen(VERSION) > 0 ) { sprintf(versionbuffer, _("GProftpd version: %s"), VERSION); utf8 = g_locale_to_utf8(versionbuffer, strlen(versionbuffer), NULL, NULL, NULL); gproftpd_version_label = lookup_widget (GTK_WIDGET (widget), "gproftpd_version_label"); gtk_label_set_text(GTK_LABEL(gproftpd_version_label), utf8); } else { sprintf(versionbuffer, _("No version found")); utf8 = g_locale_to_utf8(versionbuffer, strlen(versionbuffer), NULL, NULL, NULL); gproftpd_version_label = lookup_widget (GTK_WIDGET (widget), "gproftpd_version_label"); gtk_label_set_text(GTK_LABEL(gproftpd_version_label), utf8); } free(versionbuffer); /* Setup the server list */ servers_model = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(servers_treeview), GTK_TREE_MODEL(servers_model)); cell = gtk_cell_renderer_text_new(); servers_ip_column = gtk_tree_view_column_new_with_attributes(_("Address"), cell, "text", 0, NULL); servers_port_column = gtk_tree_view_column_new_with_attributes(_("Port"), cell, "text", 1, NULL); servers_name_column = gtk_tree_view_column_new_with_attributes(_("Servername"), cell, "text", 2, NULL); servers_type_column = gtk_tree_view_column_new_with_attributes(_("Server type"), cell, "text", 3, NULL); gtk_list_store_clear(servers_model); gtk_tree_view_append_column(GTK_TREE_VIEW(servers_treeview), GTK_TREE_VIEW_COLUMN(servers_ip_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(servers_treeview), GTK_TREE_VIEW_COLUMN(servers_port_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(servers_treeview), GTK_TREE_VIEW_COLUMN(servers_name_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(servers_treeview), GTK_TREE_VIEW_COLUMN(servers_type_column)); /* Setup the userlist */ user_model = gtk_list_store_new(6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_MODEL (user_model)); cell = gtk_cell_renderer_text_new(); user_column = gtk_tree_view_column_new_with_attributes(_("User"), cell, "text", 0, NULL); group_column = gtk_tree_view_column_new_with_attributes(_("Group"), cell, "text", 1, NULL); maxclients_column = gtk_tree_view_column_new_with_attributes(_("Root directory"), cell, "text", 2, NULL); require_column = gtk_tree_view_column_new_with_attributes(_("Require password"), cell, "text", 3, NULL); banned_column = gtk_tree_view_column_new_with_attributes(_("Banned"), cell, "text", 4, NULL); maximum_column = gtk_tree_view_column_new_with_attributes(_("Maximum connections"), cell, "text", 5, NULL); gtk_list_store_clear(user_model); gtk_tree_view_append_column(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_VIEW_COLUMN(user_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_VIEW_COLUMN(group_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_VIEW_COLUMN(maxclients_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_VIEW_COLUMN(require_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_VIEW_COLUMN(banned_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(userlist_treeview), GTK_TREE_VIEW_COLUMN(maximum_column)); /* Setup the files list */ files_model = gtk_list_store_new(7, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(files_treeview), GTK_TREE_MODEL (files_model)); cell = gtk_cell_renderer_text_new(); files_username_column = gtk_tree_view_column_new_with_attributes(_("Username"), cell, "text", 0, NULL); files_action_column = gtk_tree_view_column_new_with_attributes(_("Action"), cell, "text", 1, NULL); files_name_column = gtk_tree_view_column_new_with_attributes(_("Filename"), cell, "text", 2, NULL); files_size_column = gtk_tree_view_column_new_with_attributes(_("Bytes"), cell, "text", 3, NULL); files_start_column = gtk_tree_view_column_new_with_attributes(_("Start of transfer"), cell, "text", 4, NULL); files_host_column = gtk_tree_view_column_new_with_attributes(_("Remote host"), cell, "text", 5, NULL); gtk_list_store_clear(files_model); gtk_tree_view_append_column(GTK_TREE_VIEW(files_treeview), GTK_TREE_VIEW_COLUMN(files_username_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(files_treeview), GTK_TREE_VIEW_COLUMN(files_action_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(files_treeview), GTK_TREE_VIEW_COLUMN(files_name_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(files_treeview), GTK_TREE_VIEW_COLUMN(files_size_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(files_treeview), GTK_TREE_VIEW_COLUMN(files_start_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(files_treeview), GTK_TREE_VIEW_COLUMN(files_host_column)); /* Setup the disc tab */ disc_model = gtk_list_store_new(6, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(disc_treeview), GTK_TREE_MODEL (disc_model)); cell = gtk_cell_renderer_text_new(); gtk_list_store_clear(disc_model); mount_column = gtk_tree_view_column_new_with_attributes(_("Mounted on"), cell, "text", 0, NULL); free_column = gtk_tree_view_column_new_with_attributes(_("Free space"), cell, "text", 1, NULL); used_column = gtk_tree_view_column_new_with_attributes(_("Used space"), cell, "text", 2, NULL); total_column = gtk_tree_view_column_new_with_attributes(_("Total space"), cell, "text", 3, NULL); percent_column = gtk_tree_view_column_new_with_attributes(_("Percent used"), cell, "text", 4, NULL); device_column = gtk_tree_view_column_new_with_attributes(_("Device"), cell, "text", 5, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(disc_treeview), GTK_TREE_VIEW_COLUMN(mount_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(disc_treeview), GTK_TREE_VIEW_COLUMN(free_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(disc_treeview), GTK_TREE_VIEW_COLUMN(used_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(disc_treeview), GTK_TREE_VIEW_COLUMN(total_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(disc_treeview), GTK_TREE_VIEW_COLUMN(percent_column)); gtk_tree_view_append_column(GTK_TREE_VIEW(disc_treeview), GTK_TREE_VIEW_COLUMN(device_column)); /* Add all available shells to the loginshell combo */ shell_combo = lookup_widget(GTK_WIDGET (widget), "shell_combo"); if((fp=fopen(GP_SHELLS, "r"))==NULL) { sprintf(info_buffer, "%s %s %s", _("Cant open shells for reading here:\n"), GP_SHELLS, "\n"); info_window = create_info_window(); gtk_widget_show(info_window); } else { fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); shell=(char *)malloc(size_buffer); bzero(shell, sizeof(char) * size_buffer); new_buffer=(char *)malloc(size_buffer); bzero(new_buffer, sizeof(char) * size_buffer); utf8=g_locale_to_utf8(BINFALSE, strlen (BINFALSE), NULL, NULL, NULL); items = g_list_append (items, utf8); while(fgets(shell, size_buffer, fp)!=NULL) { if( strstr(shell, "/") && ! strstr(shell, "#") && ! strstr(shell, BINFALSE) ) { sscanf(shell, "%s", new_buffer); utf8=g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); items = g_list_append (items, utf8); } /* Check for a /bin/false shell */ if( strstr(shell, BINFALSE) && ! strstr(shell, "#") ) { found_shell=1; } } fclose(fp); free(shell); free(new_buffer); gtk_combo_set_popdown_strings(GTK_COMBO(shell_combo), items); } /* Add a /bin/false shell if it wasnt there already */ if( ! found_shell ) { if((fp=fopen(GP_SHELLS, "a"))==NULL) { sprintf(info_buffer, "%s %s %s", _("Cant open shells for writing /bin/false here:\n"), GP_SHELLS, "\n"); info_window = create_info_window(); gtk_widget_show(info_window); } else { fputs("\n", fp); fputs(BINFALSE, fp); fputs("\n", fp); fclose(fp); } } /* If there is no ftpusers one is created and all existing users put there (security). */ if((fp=fopen(GP_FTPUSERS, "r"))==NULL) { strcpy(info_buffer, _("Couldnt find ftpusers here:\n")); strcat(info_buffer, GP_FTPUSERS); strcat(info_buffer, _("\nso GProftpd made that file and added all users\n")); strcat(info_buffer, _("on the system to it. They are now banned from using the ftp server.\n")); strcat(info_buffer, _("This in an auto-security feature.\n")); info_window = create_info_window (); gtk_widget_show (info_window); strcpy(tempo, "cat "); strcat(tempo, GP_PASSWD); strcat(tempo, " |cut -f1 -d\":\" > "); strcat(tempo, GP_FTPUSERS); system(tempo); } else fclose(fp); total_incoming_entry = lookup_widget (GTK_WIDGET (widget), "total_incoming_entry"); total_outgoing_entry = lookup_widget (GTK_WIDGET (widget), "total_outgoing_entry"); status_label = lookup_widget (GTK_WIDGET (widget), "status_label"); /* Start the timer */ xfer_textview = lookup_widget (GTK_WIDGET (widget), "xfer_textview"); xfer_scrolledwindow = lookup_widget (GTK_WIDGET (widget), "xfer_scrolledwindow"); gtk_timeout_add(1000, (GtkFunction) xfer_update, xfer_textview); /* g_idle_add((GtkFunction)xfer_update, xfer_textview); */ /* Dont show TLS options if we dont have the module */ if((fp=popen("proftpd -l","r"))==NULL) { /* Locale trouble could be one cause so add TLS options */ USE_TLS=1; } else { get_buffer=(char *)malloc(MAX_READ_POPEN); bzero(get_buffer, MAX_READ_POPEN); while (fgets(get_buffer, MAX_READ_POPEN, fp)!=NULL) { if( strstr(get_buffer, "mod_tls") ) { USE_TLS=1; break; } } free(get_buffer); pclose(fp); } /* For testing */ /* USE_TLS=0; */ if( ! USE_TLS ) { gtk_widget_destroy(tls_hbox1); gtk_widget_destroy(tls_hbox2); gtk_widget_destroy(tls_hbox3); gtk_widget_destroy(tls_hbox4); gtk_widget_destroy(tls_hbox5); gtk_widget_destroy(tls_hbox6); gtk_widget_destroy(tls_label1); gtk_widget_destroy(tls_label2); gtk_widget_destroy(tls_label3); gtk_widget_destroy(tls_hseparator1); gtk_widget_destroy(tls_hseparator2); } /* Update the relevant tabs */ if( found_conf ) { list_server_values(status_label, NULL); list_entire(status_label, NULL); list_servers(userlist_treeview, NULL); list_users(userlist_treeview, NULL); } else { /* Show a choise to load the default configuration */ default_question_window = create_default_question_window(); gtk_widget_show(default_question_window); status_label=lookup_widget(GTK_WIDGET(widget), "status_label"); } /* Unref the models */ g_object_unref(user_model); g_object_unref(disc_model); g_object_unref(files_model); list_files(userlist_treeview, NULL); list_secure(userlist_treeview, NULL); list_disc(userlist_treeview, NULL); if( utf8!=NULL ) g_free(utf8); } void on_online_button_clicked (GtkButton *button, gpointer user_data) { char start[8192]=""; strcpy(start, "rm -f "); strcat(start, GP_SHUTMSG); system(start); if( online ) return; strcpy(start, "proftpd -c "); strcat(start, GP_CONF); system(start); offline_pressed=0; } void on_offline_button_clicked (GtkButton *button, gpointer user_data) { if( online ) system("killall -15 proftpd"); /* For checking if inetd/xinetd is running an ftpd */ offline_pressed=1; } void on_reread_button_clicked (GtkButton *button, gpointer user_data) { if( online ) system("killall -1 proftpd"); } void on_shutdown_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *shutdown_window; shutdown_window=create_shutdown_window(); gtk_widget_show(shutdown_window); } void on_help_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *help_window; help_window=create_help_window(); gtk_widget_show(help_window); } void on_credits_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *credits_window; credits_window=create_credits_window(); gtk_widget_show(credits_window); } void on_change_password_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *password_question_window; GtkWidget *password_change_username_entry; GtkWidget *password_change_password_entry; G_CONST_RETURN gchar *username; G_CONST_RETURN gchar *password; password_question_window = lookup_widget (GTK_WIDGET (button), "password_question_window"); password_change_password_entry = lookup_widget (GTK_WIDGET (button), "password_change_password_entry"); password_change_username_entry = lookup_widget (GTK_WIDGET (button), "password_change_username_entry"); username = gtk_entry_get_text(GTK_ENTRY(password_change_username_entry)); password = gtk_entry_get_text(GTK_ENTRY(password_change_password_entry)); password_user(username, password); gtk_widget_destroy(password_question_window); } void on_useradd_button_clicked (GtkButton *button, gpointer user_data) { /* Adds a new user to the selected server */ FILE *fp; long size_buffer; GtkWidget *info_window; GtkWidget *userlist_treeview; GtkWidget *entire_textview; GtkWidget *password_question_window; GtkWidget *useradd_username_entry; GtkWidget *useradd_password_entry; GtkWidget *password_change_username_entry; GtkWidget *password_change_password_entry; GtkWidget *useradd_directory_entry; GtkWidget *useradd_incoming_directory_entry; GtkWidget *useradd_incoming_checkbutton; GtkWidget *useradd_shell_entry; G_CONST_RETURN gchar *username; G_CONST_RETURN gchar *password; G_CONST_RETURN gchar *shell; G_CONST_RETURN gchar *dir; G_CONST_RETURN gchar *incoming; char *user_settings, *user_check, *old_buffer=NULL, *new_buffer=NULL, *address_buffer, *port_buffer; char useradd_command[4096]=""; char fixdir[4096]=""; char *root_dir, *incoming_dir; int length=0, limit_access=0, user_added=0, found_server=0; useradd_username_entry = lookup_widget (GTK_WIDGET (button), "useradd_username_entry"); useradd_password_entry = lookup_widget (GTK_WIDGET (button), "useradd_password_entry"); useradd_shell_entry = lookup_widget (GTK_WIDGET (button), "useradd_shell_entry"); useradd_directory_entry = lookup_widget (GTK_WIDGET (button), "useradd_directory_entry"); useradd_incoming_directory_entry = lookup_widget (GTK_WIDGET (button), "useradd_incoming_directory_entry"); useradd_incoming_checkbutton = lookup_widget (GTK_WIDGET (button), "useradd_incoming_checkbutton"); username = gtk_entry_get_text(GTK_ENTRY(useradd_username_entry)); password = gtk_entry_get_text(GTK_ENTRY(useradd_password_entry)); /* username = g_locale_from_utf8(gtk_entry_get_text(GTK_ENTRY(useradd_username_entry)), -1, NULL, NULL, NULL); */ /* password = g_locale_from_utf8(gtk_entry_get_text(GTK_ENTRY(useradd_password_entry)), -1, NULL, NULL, NULL); */ shell = gtk_entry_get_text(GTK_ENTRY(useradd_shell_entry)); dir = gtk_entry_get_text(GTK_ENTRY(useradd_directory_entry)); incoming = gtk_entry_get_text(GTK_ENTRY(useradd_incoming_directory_entry)); /* If the shell is false it will add the users directory as MASTERDIR * then delete it so the ftp directory doesnt contain skeleton files. */ /* If the shell is real it will add the users directory to /USERSHOME/username * and the ftp directory where specified in the application. */ /* If the username field is empty inform that this cant be done. */ length = strlen(username = gtk_entry_get_text(GTK_ENTRY(useradd_username_entry))); if( length == 0 ) { strcpy(info_buffer, _("You must specify a username.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } if( username[0]=='0'||username[0]=='1'||username[0]=='2'||username[0]=='3'||username[0]=='4' ||username[0]=='5'||username[0]=='6'||username[0]=='7'||username[0]=='8'||username[0]=='9') { strcpy(info_buffer, _("Usernames are not allowed to begin with a number.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } if( username[0]=='r' && username[1]=='o' && username[2]=='o' && username[3]=='t' && strlen(username)==4 ) { strcpy(info_buffer, _("Refusing to add user root.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } if( strstr((char *)username, "<") || strstr((char *)username, ">") ) { strcpy(info_buffer, _("A username containing < or > is not allowed.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } /* If the password field has less then 6 chars we inform that this cant be done */ length = strlen(password = gtk_entry_get_text(GTK_ENTRY(useradd_password_entry))); if ( length < 6 ) { strcpy(info_buffer, _("The minimum password length is 6 chars.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } /* If the shell field has less then 3 chars we inform that this cant be done */ length = strlen(shell = gtk_entry_get_text(GTK_ENTRY(useradd_shell_entry))); if ( length < 3 ) { strcpy(info_buffer, _("The minimum shell length is 3 chars.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } /* If the directory field has 0 chars we inform that this cant be done */ length = strlen(dir = gtk_entry_get_text(GTK_ENTRY(useradd_directory_entry))); if ( length==0 ) { strcpy(info_buffer, _("Mimimum directory path length is 1 char.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } address_buffer=(char *)malloc(8192+15); bzero(address_buffer, 8192+15); port_buffer=(char *)malloc(8192+3); bzero(port_buffer, 8192+3); if( strstr((char *)selected_server_type, "Virtualhost") ) { sprintf(address_buffer, "\n", selected_server_address); } else sprintf(address_buffer, selected_server_address); sprintf(port_buffer, "Port %s\n", selected_server_port); /* Checks if the user exists in proftpd.conf if so just show a popup */ if((fp=fopen(GP_CONF,"r"))==NULL) { strcpy(info_buffer, _("Error reading configuration:\n")); strcat(info_buffer, GP_CONF); strcat(info_buffer, _("\nRun gproftpd as root, not installed correctly ?.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); user_check=(char *)malloc(4096); bzero(user_check, sizeof(char) * 4096); strcpy(user_check, "User "); strcat(user_check, username); strcat(user_check, "\n"); /* Similar user confusion */ /* Standard server selected, start checking users directly */ if( ! strstr((char *)selected_server_type, "Virtualhost") ) found_server=1; while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(address_buffer); free(port_buffer); return; } if( strstr("Virtualhost", (char *)selected_server_type) && ! found_server && ! strcmp(old_buffer, address_buffer) ) { /* Lets see if its the same port as the selected one */ /* If this server has the same port its the correct server .. the end. */ while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(address_buffer); free(port_buffer); return; } /* This will expect the servers port on the second line ! * else itll miss some vaules .. */ if( strstr(old_buffer, "Port") && ! strcmp(old_buffer, port_buffer) ) { found_server=1; break; } if( strstr(old_buffer, "") ) break; } } /* Continue until we find the selected server */ if( ! found_server ) continue; if( found_server ) break; /* Dont change Allow From... */ if( strstr(old_buffer, " 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(address_buffer); free(port_buffer); free(user_check); return; } /* Does this user exist in this server... */ if( ! strcmp(old_buffer, user_check) && ! strstr(old_buffer, "AllowUser") ) { strcpy(info_buffer, _("That user already exists in this server in proftpd.conf.\n")); strcat(info_buffer, _("Nothing was changed.\n")); info_window = create_info_window(); gtk_widget_show (info_window); free(user_check); free(old_buffer); free(address_buffer); free(port_buffer); fclose(fp); return; } /* Dont match users in vhosts for the defualt server */ if( ! strstr((char *)selected_server_type, "Virtualhost") ) { if( strstr(old_buffer, "") ) break; } free(user_check); free(old_buffer); fclose(fp); /* If the selected shell is false ... */ if( strstr(shell, "nologin") || strstr(shell, "false") || strstr(shell, "dev/null") ) { /* All supported systems but darwin */ #ifndef USE_DARWIN if( ! user_exists(username) ) { /* Create a false user and delete its directory */ sprintf(useradd_command, "mkdir -p %s", MASTERDIR); system(useradd_command); sprintf(useradd_command, "%s %s -d %s -c ftp-user -s %s", ADDUSER, username, MASTERDIR, shell); if((fp=popen(useradd_command,"r"))==NULL) { perror("popen"); printf("Errno useradd 1 set to: %d\n", errno); strcpy(info_buffer, _("Error adding the fake user with this command:\n")); strcat(info_buffer, useradd_command); strcat(info_buffer, _("\nadd it in a terminal\n")); info_window = create_info_window (); gtk_widget_show (info_window); } else { pclose(fp); user_added=1; } if( strlen(MASTERDIR)>2 ) { strcpy(fixdir, "rm -rf "); strcat(fixdir, MASTERDIR); system(fixdir); } } #elif USE_DARWIN /* Add the false user using darwins niutil commands */ if( ! niutil_user_exists(username) ) { /* Create a false user and delete its directory */ sprintf(useradd_command, "mkdir -p %s", MASTERDIR); system(useradd_command); if( ! niutil_useradd(username, shell) ) { printf("Error adding the fake darwin user: %s\n", username); strcpy(info_buffer, _("Error adding the fake darwin user, add it manually.\n")); info_window = create_info_window (); gtk_widget_show (info_window); } else user_added=1; if( strlen(MASTERDIR)>2 ) { strcpy(fixdir, "rm -rf "); strcat(fixdir, MASTERDIR); system(fixdir); } } #endif } else { /* The selected shell is not false and the user doesnt exist */ /* All supported systems but darwin */ #ifndef USE_DARWIN if( ! user_exists(username) ) { /* Create a real user in /USERSHOME/UserName with skel files */ sprintf(useradd_command, "%s %s -d %s%s -c ftp-user -m -s %s", ADDUSER, username, USERSHOME, username, shell); if((fp=popen(useradd_command,"r"))==NULL) { perror("popen"); printf("Errno useradd 2 set to: %d\n", errno); strcpy(info_buffer, _("Error adding the real user with this command:\n")); strcat(info_buffer, useradd_command); strcat(info_buffer, _("\nadd it in a terminal\n")); info_window=create_info_window(); gtk_widget_show(info_window); } else { pclose(fp); user_added=1; } } #elif USE_DARWIN /* Add a real darwin user using the niutil commands */ if( ! niutil_user_exists(username) ) { /* Create a false user and delete its directory */ sprintf(useradd_command, "mkdir -p %s", MASTERDIR); system(useradd_command); if( ! niutil_useradd(username, shell) ) { printf("Error adding the fake darwin user: %s\n", username); strcpy(info_buffer, _("Error adding the fake darwin user, add it manually.\n")); info_window = create_info_window (); gtk_widget_show (info_window); } else user_added=1; if( strlen(MASTERDIR)>2 ) { strcpy(fixdir, "rm -rf "); strcat(fixdir, MASTERDIR); system(fixdir); } } #endif } /* Dont add anything if we couldnt add the system user */ #ifndef USE_DARWIN if( ! user_exists(username) ) #elif USE_DARWIN if( ! niutil_user_exists(username) ) #endif { strcpy(info_buffer, _("The system user was not added because uppercase\n")); strcat(info_buffer, _("or language specific letters arent allowed.\n")); info_window=create_info_window(); gtk_widget_show(info_window); free(address_buffer); free(port_buffer); return; } /* Check that slashes in directory path combinations have slashes in the right place */ root_dir=(char *)malloc(4096); bzero(root_dir, 4096); incoming_dir=(char *)malloc(4096); bzero(incoming_dir, 4096); strcpy(root_dir, dir); strcpy(incoming_dir, incoming); fix_path(root_dir); fix_path(incoming_dir); /* Make the users ftp root directory and chmod it to 0755 */ strcpy(fixdir, root_dir); make_directory(fixdir, "0755"); /* Make the usersettings with the specified ftp root directory */ user_settings=(char *)malloc(8192); bzero(user_settings, 8192); strcpy(user_settings, "\n\n"); strcat(user_settings, "User "); strcat(user_settings, username); strcat(user_settings, "\nGroup "); strcat(user_settings, username); strcat(user_settings, "\n"); strcat(user_settings, "AnonRequirePassword on\n"); strcat(user_settings, "MaxClients 3 \"The server is full, hosting %m users\"\n"); strcat(user_settings, "DisplayLogin welcome.msg\n"); strcat(user_settings, "DisplayFirstChdir .msg\n"); strcat(user_settings, "AllowOverwrite off\n"); strcat(user_settings, "\n"); strcat(user_settings, " Allow from all\n"); strcat(user_settings, " Deny from all\n"); strcat(user_settings, "\n"); strcat(user_settings, "\n"); strcat(user_settings, " AllowAll\n"); strcat(user_settings, "\n"); strcat(user_settings, "\n"); strcat(user_settings, " DenyAll\n"); strcat(user_settings, "\n"); /* Add upload directory is checked, add the upload settings section and make the incoming directory */ if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(useradd_incoming_checkbutton)) ) { /* Make the users settings with the specified incoming directory */ strcat(user_settings, "\n"); strcat(user_settings, "AllowOverwrite on\n"); strcat(user_settings, "\n"); strcat(user_settings, " AllowAll\n"); strcat(user_settings, "\n"); strcat(user_settings, "\n"); strcat(user_settings, " DenyAll\n"); strcat(user_settings, "\n"); strcat(user_settings, "\n"); strcat(user_settings, "\n"); /* Make the incoming directory under the users ftp root directory */ strcpy(fixdir, root_dir); strcat(fixdir, incoming_dir); make_directory(fixdir, "0777"); } else { strcat(user_settings, "\n"); } free(root_dir); free(incoming_dir); /* Add the new user_settings to the conf and to the right server * and also add allow user to this server */ found_server=0; /* Standard server selected, start adding users directly */ if( ! strstr((char *)selected_server_type, "Virtualhost") ) found_server=1; /* Add AllowUser UserName to proftpd.conf to the right server */ if((fp=fopen(GP_CONF,"r"))==NULL) { strcpy(info_buffer, _("Could not read AllowUser here:\n")); strcat(info_buffer, GP_CONF); strcat(info_buffer, _("\nRun gproftpd as root\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); free(user_settings); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); /* The new_buffer will probably also contain the user_settings */ new_buffer=(char *)malloc(size_buffer+8192); bzero(new_buffer, size_buffer+8192); /* Add the new user to the new conf */ while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(address_buffer); free(port_buffer); free(new_buffer); free(user_settings); return; } strcat(new_buffer, old_buffer); if( strstr("Virtualhost", (char *)selected_server_type) && ! found_server && ! strcmp(old_buffer, address_buffer) ) { /* Lets see if its the same port as the selected one */ /* If this server has the same port its the correct server .. the end. */ while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(new_buffer); free(address_buffer); free(port_buffer); free(user_settings); return; } strcat(new_buffer, old_buffer); /* This will expect the servers port on the second line ! * else itll miss some vaules .. */ if( strstr(old_buffer, "Port") && ! strcmp(old_buffer, port_buffer) ) { found_server=1; break; } if( strstr(old_buffer, "") ) break; } } /* Continue until we find the selected server */ if( ! found_server ) continue; /* Add AllowUSer Username .. to this server only */ if( strstr(old_buffer, "") && found_server && ! limit_access ) { strcat(new_buffer, " AllowUser "); strcat(new_buffer, username); strcat(new_buffer, "\n"); limit_access=1; /* just incase so we just change the first occurance */ /* Add the user after */ while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { strcat(new_buffer, old_buffer); if( strstr(old_buffer, "") && limit_access==1 ) { /* Only add it once */ limit_access=2; strcat(new_buffer, user_settings); } } } /* Add the new user_settings if we have another user (once) */ if( strstr(old_buffer, "", selected_server_address); } else sprintf(address_buffer, selected_server_address); sprintf(port_buffer, "Port %s", selected_server_port); /* Standard server selected, delete the selected user in this (first) server */ if( ! strstr((char *)selected_server_type, "Virtualhost") ) found_server=1; while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* Is this the correct server to delete the user from.. */ if( strstr("Virtualhost", (char *)selected_server_type) && ! found_server && strstr(old_buffer, address_buffer) ) { strcat(config, old_buffer); /* Lets see if its the same port as the selected one */ /* If this server has the same port its the correct server .. the end. */ while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(config); free(user_settings); free(address_buffer); free(port_buffer); free(UserUsername); free(AllowuserName); return; } /* This will expect the servers port on the second line ! * else itll miss some vaules .. */ if( strstr(old_buffer, "Port") && strstr(old_buffer, port_buffer) ) { found_server=1; strcat(config, old_buffer); break; } else strcat(config, old_buffer); if( strstr(old_buffer, "") ) break; } } else strcat(config, old_buffer); /* Continue until we find the selected server */ if( found_server ) { break; } } if( ! found_server ) { strcpy(info_buffer, _("Could not find the specified server\n")); strcat(info_buffer, _("Try reselecting the server by doubleclicking on it.\n")); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(address_buffer); free(port_buffer); free(config); free(user_settings); free(UserUsername); free(AllowuserName); return; } /* Here we have collected everything up to * * Port PORT_NR */ while(fgets(old_buffer, size_buffer, fp) !=NULL) { /* Skip the Allowuser line in the LIMIT context */ if( strstr(old_buffer, AllowuserName) ) continue; /* If this is this users settings, dont copy it */ if( strstr(old_buffer, "") ) break; } /* Get every other users settings */ if( ! user_deleted ) strcat(config, user_settings); } else { /* Delete extra whitespace between the users settings and * get everything but the this users settings. */ if( strlen(old_buffer)>3 ) strcat(config, old_buffer); } } fclose(fp); free(old_buffer); free(address_buffer); free(port_buffer); free(UserUsername); free(AllowuserName); free(user_settings); /* Write the new config without the deleted users settings */ if((fp=fopen(GP_CONF, "w+"))==NULL) { printf("Error Writing configuration here: %s\n", GP_CONF); return; } fputs(config, fp); fclose(fp); free(config); /* Create the systemuser delete question window and insert the username */ userdel_question_window=create_userdel_question_window(); gtk_widget_show(userdel_question_window); userdel_question_window = lookup_widget(GTK_WIDGET(userdel_question_window), "userdel_question_window"); userdel_question_entry = lookup_widget(GTK_WIDGET(userdel_question_window), "userdel_question_entry"); gtk_entry_set_text(GTK_ENTRY(userdel_question_entry), username); /* Destroy the user settings window update the gui and reread */ gtk_widget_destroy(user_settings_window); fix_newlines_in_conf(); list_entire(userlist_treeview, NULL); list_users(userlist_treeview, NULL); if( online ) system("killall -1 proftpd"); } void on_username_rand_button_clicked (GtkButton *button, gpointer user_data) { /* Randomize a username and put it in the username box. * Append the username to the default directorypath box. */ GtkWidget *useradd_username_entry; GtkWidget *useradd_directory_entry; GtkWidget *useradd_incoming_directory_entry; gchar *utf8=NULL; char *dir, *ul_dir; char *username; username=(char *)malloc(8192); bzero(username, 8192); dir=(char *)malloc(8192); bzero(dir, 8192); ul_dir=(char *)malloc(8192); bzero(ul_dir, 8192); random_string(username, global_username_randlen); /* Insert the username in the username box */ utf8 = g_locale_to_utf8(username, strlen(username), NULL, NULL, NULL); useradd_username_entry = lookup_widget (GTK_WIDGET (button), "useradd_username_entry"); gtk_entry_set_text(GTK_ENTRY(useradd_username_entry), utf8); /* Insert the root directorypath with the added username */ /* Workaround for users that are upgrading */ /* Set the useradd root directory and the upload direcory */ if( strlen(gp_useradd_root_path)>0 && strlen(gp_useradd_root_path)<8000 ) { sprintf(dir, "%s/%s", gp_useradd_root_path, username); sprintf(ul_dir, "%s", gp_useradd_upload_path); } else { sprintf(dir, "%sftp/%s", USERSHOME, username); sprintf(ul_dir, "/upload"); } utf8 = g_locale_to_utf8(dir, strlen(dir), NULL, NULL, NULL); useradd_directory_entry = lookup_widget(GTK_WIDGET(button), "useradd_directory_entry"); gtk_entry_set_text(GTK_ENTRY(useradd_directory_entry), utf8); free(username); utf8 = g_locale_to_utf8(ul_dir, strlen(ul_dir), NULL, NULL, NULL); useradd_incoming_directory_entry = lookup_widget(GTK_WIDGET(button), "useradd_incoming_directory_entry"); gtk_entry_set_text(GTK_ENTRY(useradd_incoming_directory_entry), utf8); free(dir); if( utf8!=NULL ) g_free(utf8); sleep(1); } void on_password_rand_button_clicked (GtkButton *button, gpointer user_data) { /* Randomize a password and put it in the passwordbox */ GtkWidget *useradd_password_entry; gchar *utf8=NULL; char *password; password=(char *)malloc(8192); bzero(password, 8192); random_string(password, global_password_randlen); utf8 = g_locale_to_utf8(password, strlen(password), NULL, NULL, NULL); free(password); useradd_password_entry = lookup_widget (GTK_WIDGET (button), "useradd_password_entry"); gtk_entry_set_text(GTK_ENTRY(useradd_password_entry), utf8); if( utf8!=NULL ) g_free(utf8); sleep(1); } void on_userlist_treeview_row_activated (GtkTreeView *treeview, GtkTreePath *arg1, GtkTreeViewColumn *arg2, gpointer user_data) { /* If a row in the userlist is doubleclicked show the user settings window and insert the values */ FILE *fp; GtkWidget *info_window; GtkWidget *user_settings_window; GtkWidget *settings_username_entry; GtkWidget *settings_group_entry; GtkWidget *settings_homedirectory_entry; GtkWidget *gplock_checkbutton; GtkWidget *banned_checkbutton; GtkWidget *settings_require_password_entry; GtkWidget *settings_max_logins_entry; GtkWidget *settings_max_logins_spinbutton; GtkWidget *settings_login_from_entry; GtkWidget *settings_uploaddirectory_entry; /* 19 different settings */ GtkWidget *uldir_list_checkbutton; // LIST NLST GtkWidget *uldir_upload_checkbutton; // STOR STOU GtkWidget *uldir_append_checkbutton; // APPE GtkWidget *uldir_download_checkbutton; // RETR GtkWidget *uldir_rename_checkbutton; // RNFR RNTO GtkWidget *uldir_delete_checkbutton; // DELE GtkWidget *uldir_createdir_checkbutton; // MKD XMKD GtkWidget *uldir_removedir_checkbutton; // RMD XRMD GtkWidget *uldir_site_checkbutton; // SITE GtkWidget *uldir_chmod_checkbutton; // SITE_CHMOD GtkWidget *uldir_chgrp_checkbutton; // SITE_CHGRP GtkWidget *uldir_showdate_checkbutton; // MDTM GtkWidget *uldir_showwd_checkbutton; // PWD XPWD GtkWidget *uldir_showsize_checkbutton; // SIZE GtkWidget *uldir_stat_checkbutton; // STAT GtkWidget *uldir_changewd_checkbutton; // CWD XCWD GtkWidget *uldir_cdup_checkbutton; // CDUP XCUP GtkTreeIter iter; GtkTreeModel *list_store; GtkTreeViewColumn *user_column; GtkTreePath *path; G_CONST_RETURN gchar *username; gchar *utf8=NULL; char *new_buffer, *old_buffer, *user_buffer, *address_buffer, *port_buffer, *spinval, *translate; long size_buffer; int found=0, i=0, x=0, gplock=0; userlist_treeview = lookup_widget (GTK_WIDGET (treeview), "userlist_treeview"); list_store = gtk_tree_view_get_model(GTK_TREE_VIEW(userlist_treeview)); gtk_tree_view_get_cursor(GTK_TREE_VIEW(userlist_treeview), &path, &user_column); gtk_tree_model_get_iter(list_store, &iter, path); gtk_tree_model_get(list_store, &iter, 0, &username, -1); user_settings_window = create_user_settings_window(); gtk_widget_show(user_settings_window); user_settings_window = lookup_widget (GTK_WIDGET (user_settings_window), "user_settings_window"); settings_username_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_username_entry"); settings_group_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_group_entry"); settings_homedirectory_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_homedirectory_entry"); gplock_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "gplock_checkbutton"); banned_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "banned_checkbutton"); settings_require_password_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_require_password_entry"); settings_max_logins_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_max_logins_entry"); settings_max_logins_spinbutton = lookup_widget (GTK_WIDGET (user_settings_window), "settings_max_logins_spinbutton"); settings_login_from_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_login_from_entry"); settings_uploaddirectory_entry = lookup_widget (GTK_WIDGET (user_settings_window), "settings_uploaddirectory_entry"); uldir_list_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_list_checkbutton"); uldir_upload_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_upload_checkbutton"); uldir_append_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_append_checkbutton"); uldir_download_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_download_checkbutton"); uldir_rename_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_rename_checkbutton"); uldir_delete_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_delete_checkbutton"); uldir_createdir_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_createdir_checkbutton"); uldir_removedir_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_removedir_checkbutton"); uldir_chmod_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_chmod_checkbutton"); uldir_chgrp_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_chgrp_checkbutton"); uldir_stat_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_stat_checkbutton"); uldir_showdate_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_showdate_checkbutton"); uldir_showwd_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_showwd_checkbutton"); uldir_showsize_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_showsize_checkbutton"); uldir_changewd_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_changewd_checkbutton"); uldir_site_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_site_checkbutton"); uldir_cdup_checkbutton = lookup_widget (GTK_WIDGET (user_settings_window), "uldir_cdup_checkbutton"); if ((fp = fopen(GP_CONF, "r")) == NULL) { strcpy(info_buffer, _("Error reading the configuration here:\n")); strcat(info_buffer, GP_CONF); strcat(info_buffer, "\n"); info_window = create_info_window (); gtk_widget_show (info_window); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); new_buffer=(char *)malloc(size_buffer); bzero(new_buffer, size_buffer); user_buffer=(char *)malloc(4096); bzero(user_buffer, 4096); spinval=(char *)malloc(1024); bzero(spinval, 1024); address_buffer=(char *)malloc(8192); bzero(address_buffer, 8192); port_buffer=(char *)malloc(8192); bzero(port_buffer, 8192); /* Set the banned status */ sprintf(user_buffer, "%s", username); if( is_banned(user_buffer) ) { gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(banned_checkbutton), TRUE); } else gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(banned_checkbutton), FALSE); /* Dont match a similar user */ sprintf(user_buffer, "User %s\n", username); if( strstr((char *)selected_server_type, "Virtualhost") ) { sprintf(address_buffer, "\n", selected_server_address); } else sprintf(address_buffer, selected_server_address); sprintf(port_buffer, "Port %s\n", selected_server_port); /* Scroll to the selected vhost */ if( strstr((char *)selected_server_type, "Virtualhost") ) { while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* If its the correct address */ if( ! strcmp(old_buffer, address_buffer) ) { while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* This server was not the right one */ if( strstr(old_buffer, "") ) break; if( ! strcmp(old_buffer, port_buffer) ) { found=1; break; } } } if( found ) break; } } /* we have scrolled to a vhost or just began at the top */ found=0; while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* Pick up all 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); fclose(fp); free(old_buffer); free(new_buffer); free(address_buffer); free(port_buffer); return; } /* We have found the right user .. insert the settings */ if( ! strcmp(old_buffer, user_buffer) && ! strstr(old_buffer, "AllowUser") && ! strstr(old_buffer, "DenyUser") && ! strstr(old_buffer, "FakeUser") ) { if( strlen(new_buffer)>5 ) { found=1; /* Ftp root directory */ new_buffer[strlen(new_buffer)-2]='\0'; utf8 = g_locale_to_utf8(&new_buffer[11], strlen(&new_buffer[11]), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_homedirectory_entry), utf8); /* Username */ sscanf(old_buffer, "%*s %s", new_buffer); utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_username_entry), utf8); /* Insert all the standard vaules like user, group etc */ while(fgets(old_buffer, size_buffer, fp)!=NULL) { if( strstr(old_buffer, "Group") && found ) { sscanf(old_buffer, "%*s %s", new_buffer); utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_group_entry), utf8); } if( strstr(old_buffer, "AnonRequirePassword") && found ) { sscanf(old_buffer, "%*s %s", new_buffer); translate=(char *)malloc(1024); bzero(translate, 1024); if( strstr(new_buffer, "on") ) sprintf(translate, _("yes")); else sprintf(translate, _("no")); utf8 = g_locale_to_utf8(translate, strlen(translate), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_require_password_entry), utf8); free(translate); } if( strstr(old_buffer, "MaxClients") && found ) { for(x=0; old_buffer[x]!='\0'; x++) { if( old_buffer[x]=='"' ) break; } x++; if( old_buffer[x]!='\0' ) sprintf(new_buffer, "%s", &old_buffer[x]); for(x=0; new_buffer[x]!='\0'; x++) { if( new_buffer[x]=='"' ) { new_buffer[x]='\0'; break; } } utf8 = g_locale_to_utf8(new_buffer, strlen(new_buffer), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_max_logins_entry), utf8); sscanf(old_buffer, "%*s %s", spinval); utf8 = g_locale_to_utf8(spinval, strlen(spinval), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_max_logins_spinbutton), utf8); } if( strstr(old_buffer, "Allow from") && found ) { strcpy(new_buffer, old_buffer); for(i=0; new_buffer[i]!='\0'; i++) { if( new_buffer[i-2]=='m' ) { new_buffer[strlen(new_buffer)-1]='\0'; utf8 = g_locale_to_utf8(&new_buffer[i], strlen(&new_buffer[i]), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(settings_login_from_entry), utf8); break; } if( i>100 ) break; } } // FIXME /* Upload directory .. List any added directory here */ if( strstr(old_buffer, "100 ) break; } } if( strstr(old_buffer, "UPLOAD_DIR_ALLOW") && found ) { if( strstr(old_buffer, "LIST") && strstr(old_buffer, "NLST") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_list_checkbutton), TRUE); if( strstr(old_buffer, "STOR") && strstr(old_buffer, "STOU") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_upload_checkbutton), TRUE); if( strstr(old_buffer, "APPE") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_append_checkbutton), TRUE); if( strstr(old_buffer, "RETR") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_download_checkbutton), TRUE); if( strstr(old_buffer, "RNFR") && strstr(old_buffer, "RNTO") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_rename_checkbutton), TRUE); if( strstr(old_buffer, "DELE") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_delete_checkbutton), TRUE); if( strstr(old_buffer, "MKD") && strstr(old_buffer, "XMKD") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_createdir_checkbutton), TRUE); if( strstr(old_buffer, "RMD") && strstr(old_buffer, "XRMD") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_removedir_checkbutton), TRUE); if( strstr(old_buffer, "SITE_CHMOD") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_chmod_checkbutton), TRUE); if( strstr(old_buffer, "SITE_CHGRP") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_chgrp_checkbutton), TRUE); if( strstr(old_buffer, "SITE") ) /* dont match SITE_CHMOD or SITE_CHGRP */ { for(x=0; old_buffer[x]!='\0'; x++) { if( old_buffer[x]=='\0' || old_buffer[x+1]=='\0' || old_buffer[x+2]=='\0' || old_buffer[x+3]=='\0' || old_buffer[x+4]=='\0' ) break; if( old_buffer[x]=='S' && old_buffer[x+1]=='I' && old_buffer[x+2]=='T' && old_buffer[x+3]=='E' && old_buffer[x+4]==' ' ) { gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_site_checkbutton), TRUE); break; } } } if( strstr(old_buffer, "MDTM") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_showdate_checkbutton), TRUE); /* Cant strstr PWD for some reason ! */ if( strstr(old_buffer, "WD") ) /* PWD and XPWD */ { for(x=0; old_buffer[x]!='\0'; x++) { if( old_buffer[x]=='\0' || old_buffer[x+1]=='\0' || old_buffer[x+2]=='\0' ) break; if( old_buffer[x]=='P' && old_buffer[x+1]=='W' && old_buffer[x+2]=='D' ) { gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_showwd_checkbutton), TRUE); break; } } } if( strstr(old_buffer, "SIZE") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_showsize_checkbutton), TRUE); if( strstr(old_buffer, "STAT") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_stat_checkbutton), TRUE); if( strstr(old_buffer, "CWD") && strstr(old_buffer, "XCWD") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_changewd_checkbutton), TRUE); if( strstr(old_buffer, "CDUP") && strstr(old_buffer, "XCUP") ) gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(uldir_cdup_checkbutton), TRUE); } if( strstr(old_buffer, "#gplockstats") && found ) gplock=1; /* The user has been listed .. break */ if( strstr(old_buffer, " 0 ) { strcpy(info_buffer, _("\nThe minimum password length is 6 chars.\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } username = gtk_entry_get_text(GTK_ENTRY(settings_username_entry)); root_directory = gtk_entry_get_text(GTK_ENTRY(settings_homedirectory_entry)); upload_directory = gtk_entry_get_text(GTK_ENTRY(settings_uploaddirectory_entry)); root_dir=(char *)malloc(8192); bzero(root_dir, 8192); upload_dir=(char *)malloc(8192); bzero(upload_dir, 8192); strcpy(root_dir, root_directory); strcpy(upload_dir, upload_directory); /* If the user has written a new acceptable password and this user exists */ if( length >= 6 ) { password = gtk_entry_get_text(GTK_ENTRY(settings_password_entry)); #ifndef USE_DARWIN if( user_exists(username) ) #elif USE_DARWIN if( niutil_user_exists(username) ) #endif { /* Should be checked more carefully but it was most likely changed */ #ifndef USE_DARWIN password_user(username, password); #elif USE_DARWIN niutil_password_user(username, password); #endif strcpy(info_buffer, _("\nThe Password was changed.\n")); info_window = create_info_window (); gtk_widget_show (info_window); } else { strcpy(info_buffer, _("The password was not changed.\n")); strcat(info_buffer, _("The user didnt exist in shadow or passwd.\n")); info_window = create_info_window (); gtk_widget_show (info_window); } } strcpy(UserUsername, "User "); strcat(UserUsername, username); /* Avoiding a similar user match */ strcat(UserUsername, "\n"); address_buffer=(char *)malloc(8192+15); bzero(address_buffer, 8192+15); port_buffer=(char *)malloc(8192+3); bzero(port_buffer, 8192+3); if( strstr((char *)selected_server_type, "Virtualhost") ) { sprintf(address_buffer, "\n", selected_server_address); } else sprintf(address_buffer, selected_server_address); sprintf(port_buffer, "Port %s\n", selected_server_port); /* Make changes for this users settings */ if((fp=fopen(GP_CONF, "r"))==NULL) { strcpy(info_buffer, _("\nCant open proftpd.conf\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); anon_dir=(char *)malloc(8192); bzero(anon_dir, 8192); /* +16384 for directives added by gproftpd since the last upgrade */ config=(char *)malloc(size_buffer + 16384); bzero(config, size_buffer + 16384); old_buffer=(char *)malloc(size_buffer + 4096); bzero(old_buffer, size_buffer + 4096); /* If the selected server is a vhost we collect everything up to the first vhost with the same name as the selected one */ if( strstr((char *)selected_server_type, "Virtualhost") ) { while(fgets(old_buffer, size_buffer, fp)!=NULL) { strcat(config, old_buffer); /* If its the correct address */ if( ! strcmp(old_buffer, address_buffer) ) { while(fgets(old_buffer, size_buffer, fp)!=NULL) { strcat(config, old_buffer); /* This server was not the right one */ if( strstr(old_buffer, "") ) break; if( ! strcmp(old_buffer, port_buffer) ) { found=1; break; } } } if( found ) break; } } /* This will change the selected users settings */ while(fgets(old_buffer, size_buffer, fp)!=NULL) { end=0; if( strstr(old_buffer, "\n"); strcat(config, UserUsername); while(fgets(old_buffer, size_buffer,fp)!=NULL) { if( strstr(old_buffer, "Group ") ) { strcat(config, "Group "); strcat(config, group = gtk_entry_get_text(GTK_ENTRY(settings_group_entry))); strcat(config, "\n"); } else if( strstr(old_buffer, "AnonRequirePassword ") ) { strcat(config, "AnonRequirePassword "); if( combo_selection(combo17) == 0 ) strcat(config, "on\n"); else strcat(config, "off\n"); } else if( strstr(old_buffer, "#gplockstats") ) { /* Deleted this line from the conf */ } else if( strstr(old_buffer, "MaxClients ") ) { strcat(config, "MaxClients "); strcat(config, max_clients_number = gtk_entry_get_text(GTK_ENTRY(settings_max_logins_spinbutton))); strcat(config, " \""); strcat(config, max_clients_text = gtk_entry_get_text(GTK_ENTRY(settings_max_logins_entry))); strcat(config, "\"\n"); } else if( strstr(old_buffer, "Allow from ") ) { strcat(config, " Allow from "); login_from = gtk_entry_get_text(GTK_ENTRY(settings_login_from_entry)); if( strlen(login_from)==0 ) { strcat(config, "none\n"); } else { strcat(config, login_from); strcat(config, "\n"); } } else /* The first directory it finds (upload) */ if( strstr(old_buffer, "0 ) { strcat(config, "\n"); } else if( strstr(old_buffer, "UPLOAD_DIR_ALLOW") ) { strcat(config, "\n"); } else if( strstr(old_buffer, "UPLOAD_DIR_DENY") ) { strcat(config, "\n"); } else if( strlen(old_buffer) > 3 && ! strstr(old_buffer, "") ) { /* Getting every user settings thats not the end */ strcat(config, old_buffer); } if( strstr(old_buffer, "") ) { /* Add the locked statistics flag to the users settings */ if( ! gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gplock_checkbutton)) ) strcat(config, "#gplockstats\n"); /* Get the end of the settings */ strcat(config, old_buffer); /* Get everything else in the configuration */ while(fgets(old_buffer, size_buffer, fp)!=NULL) strcat(config, old_buffer); } } } else { /* Copy the entire users settings (this is not the one to change) */ strcat(config, anon_dir); strcat(config, old_buffer); while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* Get everything else */ strcat(config, old_buffer); if( strstr(old_buffer, "") ) { end=1; break; } } } if( end ) break; } } else { /* Get everything that isnt a users settings or an empty line */ if( strlen(old_buffer) > 3 ) strcat(config, old_buffer); } } free(anon_dir); free(old_buffer); fclose(fp); /* Make the directories for this user */ fix_path(root_dir); make_directory(root_dir, "0755"); if( strlen(upload_dir)>0 ) { fix_path(upload_dir); make_directory(upload_dir, "0777"); } if( root_dir!=NULL ) free(root_dir); if( upload_dir!=NULL ) free(upload_dir); /* Write the new config with the changed users settings and update widget values */ if((fp=fopen(GP_CONF, "w+"))==NULL) { free(config); free(address_buffer); free(port_buffer); return; } fputs(config, fp); fclose(fp); free(config); /* We do any unbanning last for security */ banned_user=(char *)malloc(8192); bzero(banned_user, 8192); sprintf(banned_user, "%s", username); if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(banned_checkbutton)) ) { /* Ban the user */ if( ! is_banned(banned_user) ) { if((fp=fopen(GP_FTPUSERS, "a"))==NULL) { } else { fputs("\n", fp); fputs(username, fp); fputs("\n", fp); fclose(fp); } } } else { /* Remove the banned user from ftpusers */ if( is_banned(banned_user) ) { if((fp=fopen(GP_FTPUSERS, "r"))==NULL) { } else { fseek(fp, 0, SEEK_END); size_buffer=ftell(fp); rewind(fp); config=(char *)malloc(size_buffer + 4096); bzero(config, size_buffer + 4096); old_buffer=(char *)malloc(size_buffer + 4096); bzero(old_buffer, size_buffer + 4096); temp_user=(char *)malloc(8192); bzero(temp_user, 8192); while(fgets(old_buffer, size_buffer, fp)!=NULL) { sscanf(old_buffer, "%s", temp_user); if( ! strcmp(temp_user, banned_user) ) { } else strcat(config, old_buffer); } fclose(fp); free(old_buffer); free(temp_user); if((fp=fopen(GP_FTPUSERS, "w+"))==NULL) { } else { fputs(config, fp); fclose(fp); } free(config); } } } free(banned_user); free(address_buffer); free(port_buffer); fix_newlines_in_conf(); list_users(userlist_treeview, NULL); list_entire(userlist_treeview, NULL); gtk_widget_destroy(user_settings_window); if( online ) system("killall -1 proftpd"); } void on_restore_button_clicked (GtkButton *button, gpointer user_data) { /* Ask what file(date) to restore (later) */ GtkWidget *userlist_treeview; GtkWidget *entire_textview; char restore[16384]=""; sprintf(restore, "cp %s/proftpd.conf %s/", GP_APPCONFDIR, GP_SYSCONFDIR); system(restore); userlist_treeview = lookup_widget (GTK_WIDGET (button), "userlist_treeview"); entire_textview = lookup_widget (GTK_WIDGET (button), "entire_textview"); list_servers(userlist_treeview, NULL); list_users(userlist_treeview, NULL); list_server_values(userlist_treeview, NULL); list_entire(entire_textview, NULL); } void on_backup_button_clicked (GtkButton *button, gpointer user_data) { /* Set date/time */ char backup[16384]=""; sprintf(backup, "cp %s %s/", GP_CONF, GP_APPCONFDIR); system(backup); } void on_syntaxcheck_button_clicked (GtkButton *button, gpointer user_data) { FILE *fp; GtkWidget *info_window; char *check_buffer; char check[8192]=""; sprintf(check, "proftpd -tc %s 2>&1", GP_CONF); if((fp=popen(check, "r"))==NULL) { perror("popen"); strcpy(info_buffer, "Cant open proftpd.conf\n"); info_window = create_info_window (); gtk_widget_show (info_window); return; } fflush(fp); check_buffer=(char *)malloc(8192); bzero(check_buffer, sizeof(char) * 8192); while (fgets(check_buffer, 8192, fp)!=NULL) { } strcpy(info_buffer, _("If there are no complaints the configuration is ok...\n\n")); strcat(info_buffer, check_buffer); strcat(info_buffer, _("\nCheck completed.")); pclose(fp); free(check_buffer); info_window=create_info_window(); gtk_widget_show(info_window); } void on_save_entire_button_clicked (GtkButton *button, gpointer user_data) { /* Save entire */ FILE *fp; GtkWidget *entire_textview; GtkWidget *userlist_treeview; GtkWidget *info_window; GtkTextBuffer *entire_config_text_buffer; GtkTextIter start, end; gchar *config_buffer=NULL; entire_textview = lookup_widget (GTK_WIDGET (button), "entire_textview"); entire_config_text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(entire_textview)); gtk_text_buffer_get_bounds(entire_config_text_buffer, &start, &end); config_buffer = gtk_text_iter_get_text(&start, &end); /* Stick it in proftpd.conf */ if((fp = fopen(GP_CONF, "w+"))==NULL) { sprintf(info_buffer, _("Cant write to proftpd.conf here: \n%s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); return; } fputs(config_buffer, fp); fclose(fp); /* Update the global tab, userlist, and the entire tab */ userlist_treeview = lookup_widget (GTK_WIDGET (button), "userlist_treeview"); entire_textview = lookup_widget (GTK_WIDGET (button), "entire_textview"); list_servers(userlist_treeview, NULL); list_users(userlist_treeview, NULL); list_entire(entire_textview, NULL); list_server_values(entire_textview, NULL); if(config_buffer !=NULL) g_free(config_buffer); /* Dont reread so it can be syntax checked before deployed */ } void on_disc_update_button_clicked (GtkButton *button, gpointer user_data) { list_disc(userlist_treeview, NULL); } void on_files_clear_button_clicked (GtkButton *button, gpointer user_data) { FILE *fp; if((fp=fopen(GP_XFERLOG, "w+"))==NULL) { return; } fclose(fp); list_files(userlist_treeview, NULL); } void on_files_update_button_clicked (GtkButton *button, gpointer user_data) { list_files(userlist_treeview, NULL); } void on_security_update_button_clicked (GtkButton *button, gpointer user_data) { list_secure(userlist_treeview, NULL); } void on_kick_button_clicked (GtkButton *button, gpointer user_data) { /* Kick a user by name or pid */ FILE *fp; GtkWidget *info_window; GtkWidget *kick_entry; char *get_buffer, *kick_name, *kick_pid, *kick; int user_kick=0, pid_kick=0; G_CONST_RETURN gchar *username; kick_entry = lookup_widget (GTK_WIDGET (button), "kick_entry"); username = gtk_entry_get_text(GTK_ENTRY(kick_entry)); if( ! online ) return; if( strlen(username)==0 ) { strcpy(info_buffer, _("You must specify a username or process number.\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } /* Get users pid and name */ if((fp=popen("ftpwho -v", "r"))==NULL) { strcpy(info_buffer, _("popen error, user not kicked\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } fflush(fp); kick_name=(char *)malloc(4096); bzero(kick_name, 4096); kick_pid=(char *)malloc(4096); bzero(kick_pid, 4096); get_buffer=(char *)malloc(MAX_READ_POPEN); bzero(get_buffer, MAX_READ_POPEN); while(fgets(get_buffer, MAX_READ_POPEN, fp)!=NULL) { kick_pid[0]='\0'; kick_name[0]='\0'; sscanf(get_buffer, "%s %s", kick_pid, kick_name); if( kick_name[strlen(kick_name)-1]=='\n' || kick_name[strlen(kick_name)-1]=='\r' ) kick_name[strlen(kick_name)-1]='\0'; /* kill this user by name */ if( ! strcmp(username, kick_name) && is_digitz(kick_pid) ) { user_kick=1; break; } /* Kill this user by pid (supplied number is the same as any left most word in the output) */ if( ! strcmp(username, kick_pid) && is_digitz(kick_pid) ) { pid_kick=1; break; } } pclose(fp); free(get_buffer); free(kick_name); if( user_kick ) { /* Kill the the users pid */ kick=(char *)malloc(8192); bzero(kick, 8192); sprintf(kick, "kill -15 %s", kick_pid); system(kick); free(kick); } else if( pid_kick ) { /* Kill the the users pid */ kick=(char *)malloc(8192); bzero(kick, 8192); sprintf(kick, "kill -15 %s", username); system(kick); free(kick); } else { strcpy(info_buffer, _("User or pid not found.\n")); info_window = create_info_window(); gtk_widget_show(info_window); } free(kick_pid); } void on_kickban_button_clicked (GtkButton *button, gpointer user_data) { /* ban a user then kick by name or pid */ FILE *fp; GtkWidget *info_window; GtkWidget *kick_entry; char *get_buffer, *kick_name, *kick_pid, *kick; int user_kick=0, pid_kick=0, was_kicked=0, was_banned=0; G_CONST_RETURN gchar *username; kick_entry = lookup_widget (GTK_WIDGET (button), "kick_entry"); username = gtk_entry_get_text(GTK_ENTRY(kick_entry)); if( strlen(username)==0 ) { strcpy(info_buffer, _("You must specify a username or process number.\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } kick_name=(char *)malloc(4096); bzero(kick_name, 4096); kick_pid=(char *)malloc(4096); bzero(kick_pid, 4096); if( online ) { /* Get users pid and name */ if((fp=popen("ftpwho -v", "r"))==NULL) { strcpy(info_buffer, _("popen error, user not kicked or banned.\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } fflush(fp); get_buffer=(char *)malloc(MAX_READ_POPEN); bzero(get_buffer, MAX_READ_POPEN); while(fgets(get_buffer, MAX_READ_POPEN, fp)!=NULL) { kick_pid[0]='\0'; kick_name[0]='\0'; sscanf(get_buffer, "%s %s", kick_pid, kick_name); if( kick_name[strlen(kick_name)-1]=='\n' || kick_name[strlen(kick_name)-1]=='\r' ) kick_name[strlen(kick_name)-1]='\0'; /* kill this user by name */ if( ! strcmp(username, kick_name) && is_digitz(kick_pid) ) { user_kick=1; break; } /* Kill this user by pid */ if( ! strcmp(username, kick_pid) && is_digitz(kick_pid) ) { pid_kick=1; break; } } pclose(fp); free(get_buffer); } /* Put the user in ftpusers if its not banned already or is a pid */ if( ! is_banned((char *)username) ) { if((fp=fopen(GP_FTPUSERS, "a"))==NULL) { sprintf(info_buffer, _("The user was not banned, could not write to:\n%s"), GP_FTPUSERS); info_window = create_info_window(); gtk_widget_show(info_window); } else if( user_kick || pid_kick ) { fputs("\n", fp); fputs(kick_name, fp); fclose(fp); was_banned=1; } else if( ! is_digitz((char *)username) ) { fputs("\n", fp); fputs(username, fp); fclose(fp); was_banned=1; } else { strcpy(info_buffer, _("Cant ban a non active user by PID.\n")); strcat(info_buffer, _("Misspelled maybe ?\n")); info_window = create_info_window(); gtk_widget_show(info_window); fclose(fp); } } else if( is_banned((char *)username) && ! is_digitz((char *)username) ) { strcpy(info_buffer, _("The user was already banned.\n")); info_window = create_info_window(); gtk_widget_show(info_window); } free(kick_name); if( user_kick || pid_kick ) { /* Kill the the users pid */ kick=(char *)malloc(8192); bzero(kick, 8192); sprintf(kick, "kill -15 %s", kick_pid); system(kick); free(kick); was_kicked=1; } /* We want to be notified of additional success or failiure here */ if( was_banned && ! was_kicked ) { strcpy(info_buffer, _("The user was not currently in the ftp.\n")); strcat(info_buffer, _("The user was banned but not kicked.\n")); info_window = create_info_window(); gtk_widget_show(info_window); } else if( was_banned && was_kicked ) { strcpy(info_buffer, _("The user was kicked and banned.\n")); info_window = create_info_window(); gtk_widget_show(info_window); } free(kick_pid); list_users(userlist_treeview, NULL); } void on_shutdown_ok_button_clicked (GtkButton *button, gpointer user_data) { /* Shutdown the server */ FILE *shutdown_file; char *shutdown; GtkWidget *shutdown_window; GtkWidget *new_acc_disabled_entry; GtkWidget *exist_users_dc_entry; GtkWidget *real_shutdown_entry; GtkWidget *shutdown_msg1_entry; G_CONST_RETURN gchar *get_new_login_disable; G_CONST_RETURN gchar *get_exist_user_disconnect; G_CONST_RETURN gchar *get_real_shutdown_entry; G_CONST_RETURN gchar *get_msg1; shutdown_window = lookup_widget (GTK_WIDGET (button), "shutdown_window"); new_acc_disabled_entry = lookup_widget (GTK_WIDGET (button), "new_acc_disabled_entry"); exist_users_dc_entry = lookup_widget (GTK_WIDGET (button), "exist_users_dc_entry"); real_shutdown_entry = lookup_widget (GTK_WIDGET (button), "real_shutdown_entry"); shutdown_msg1_entry = lookup_widget (GTK_WIDGET (button), "shutdown_msg1_entry"); get_new_login_disable = gtk_entry_get_text(GTK_ENTRY(new_acc_disabled_entry)); get_exist_user_disconnect = gtk_entry_get_text(GTK_ENTRY(exist_users_dc_entry)); get_real_shutdown_entry = gtk_entry_get_text(GTK_ENTRY(real_shutdown_entry)); get_msg1 = gtk_entry_get_text(GTK_ENTRY(shutdown_msg1_entry)); shutdown=(char *)malloc(8192); bzero(shutdown, 8192); strcpy(shutdown, "ftpshut -l "); strcat(shutdown, get_new_login_disable); strcat(shutdown, " -d "); strcat(shutdown, get_exist_user_disconnect); strcat(shutdown, " "); strcat(shutdown, get_real_shutdown_entry); strcat(shutdown, " \""); strcat(shutdown, get_msg1); strcat(shutdown, "\""); shutdown_file = popen(shutdown,"r"); pclose(shutdown_file); free(shutdown); gtk_widget_hide(shutdown_window); } void on_userdir_button_clicked (GtkButton *button, gpointer user_data) { /* If the directory button in the usertab is pressed show a fileselection */ GtkWidget *userdir_selection; userdir_selection = create_userdir_selection(); gtk_widget_show(userdir_selection); } void on_userdir_select_ok_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *userdir_selection; G_CONST_RETURN gchar *userdir_path; gchar *utf8=NULL; char *buffy; buffy=(char *)malloc(8192); bzero(buffy, 8192); userdir_selection = lookup_widget (GTK_WIDGET (button), "userdir_selection"); userdir_path = gtk_file_selection_get_filename(GTK_FILE_SELECTION(userdir_selection)); sprintf(buffy, "%s", userdir_path); if( buffy[strlen(buffy)-1]=='\n' || buffy[strlen(buffy)-1]=='\r' ) buffy[strlen(buffy)-1]='\0'; if( buffy[strlen(buffy)-1]=='/' ) buffy[strlen(buffy)-1]='\0'; utf8 = g_locale_to_utf8(buffy, strlen(buffy), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(useradd_directory_entry), utf8); free(buffy); if( utf8!=NULL ) g_free(utf8); gtk_widget_destroy(userdir_selection); } void on_useradd_incoming_button_clicked (GtkButton *button, gpointer user_data) { /* If the incoming directory button in the usertab is pressed show a selection */ GtkWidget *useradd_incoming_selection; useradd_incoming_selection = create_useradd_incoming_selection(); gtk_widget_show(useradd_incoming_selection); } void on_incoming_directory_ok_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *useradd_incoming_selection; G_CONST_RETURN gchar *incoming_path; gchar *utf8=NULL; char *buffy, *new_buffy; int x=0; buffy=(char *)malloc(8192); bzero(buffy, 8192); new_buffy=(char *)malloc(8192); bzero(new_buffy, 8192); useradd_incoming_selection = lookup_widget (GTK_WIDGET (button), "useradd_incoming_selection"); incoming_path = gtk_file_selection_get_filename(GTK_FILE_SELECTION(useradd_incoming_selection)); /* Strip rn and the last slash from the full path, only use the last directory */ sprintf(buffy, "%s", incoming_path); if( buffy[strlen(buffy)-1]=='\n' || buffy[strlen(buffy)-1]=='\r' ) buffy[strlen(buffy)-1]='\0'; if( buffy[strlen(buffy)-1]=='/' ) buffy[strlen(buffy)-1]='\0'; for(x=strlen(buffy)-2; buffy[x]; x--) { if( buffy[x]=='/' ) { snprintf(new_buffy, buffy[x], buffy+x); break; } } utf8 = g_locale_to_utf8(new_buffy, strlen(new_buffy), NULL, NULL, NULL); gtk_entry_set_text(GTK_ENTRY(useradd_incoming_directory_entry), utf8); free(new_buffy); free(buffy); if( utf8!=NULL ) g_free(utf8); gtk_widget_destroy(useradd_incoming_selection); } void on_html_button_clicked (GtkButton *button, gpointer user_data) { /* Generate statistics to a html file using gprostats */ FILE *fp; GtkWidget *info_window; GtkWidget *html_entry; G_CONST_RETURN gchar *html_path; char generate[4096]="", buffy[40000]=""; strcpy(info_buffer, ""); html_entry = lookup_widget (GTK_WIDGET (button), "html_entry"); html_path = gtk_entry_get_text(GTK_ENTRY(html_entry)); strcpy(generate, "gprostats -html "); strcat(generate, html_path); if( (fp = popen(generate, "r")) == NULL ) { strcpy(info_buffer, _("Welcome message generation failed")); strcat(info_buffer, _("No xferlog records found or popen failed\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } fflush(fp); while(fgets(buffy, 40000,fp)!=NULL) { strcat(info_buffer, buffy); } pclose(fp); if( strlen(info_buffer)>3 ) { strcat(info_buffer, "\n"); info_window = create_info_window(); gtk_widget_show(info_window); } } void on_welcome_button_clicked (GtkButton *button, gpointer user_data) { /* Generate welcome message statistics for all active users */ FILE *fp; GtkWidget *info_window; GtkWidget *welcome_entry; G_CONST_RETURN gchar *welcome_name; char generate[4096]="", buffy[40000]=""; strcpy(info_buffer, ""); welcome_entry = lookup_widget (GTK_WIDGET (button), "welcome_entry"); welcome_name = gtk_entry_get_text(GTK_ENTRY(welcome_entry)); strcpy(generate, "gprostats -w "); strcat(generate, welcome_name); strcat(generate, " -c "); strcat(generate, GP_CONF); strcat(generate, " -x "); strcat(generate, GP_XFERLOG); if( (fp = popen(generate, "r")) == NULL ) { strcpy(info_buffer, _("Welcome message generation failed")); strcat(info_buffer, _("No xferlog records found or popen failed\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } fflush(fp); while(fgets(buffy, 40000,fp)!=NULL) { strcat(info_buffer, buffy); } pclose(fp); if( strlen(info_buffer)>3 ) { strcat(info_buffer, "\n"); info_window = create_info_window(); gtk_widget_show(info_window); } } void on_tls_generate_certificate_button_clicked (GtkButton *button, gpointer user_data) { FILE *fp; char *command; char *pem_path; GtkWidget *info_window; GtkWidget *tls_progressbar; GtkWidget *tls_ip_entry, *tls_email_entry, *tls_bits_spinbutton; GtkWidget *tls_password_entry, *tls_challenge_entry, *tls_valid_spinbutton; GtkWidget *tls_country_entry, *tls_state_entry, *tls_city_entry; GtkWidget *tls_org_entry, *tls_org_unit_entry; G_CONST_RETURN gchar *ip; G_CONST_RETURN gchar *email; G_CONST_RETURN gchar *bits; G_CONST_RETURN gchar *password; G_CONST_RETURN gchar *challenge; G_CONST_RETURN gchar *valid; G_CONST_RETURN gchar *country; G_CONST_RETURN gchar *state; G_CONST_RETURN gchar *city; G_CONST_RETURN gchar *org; G_CONST_RETURN gchar *org_unit; gdouble val=0.0; tls_ip_entry = lookup_widget (GTK_WIDGET (button), "tls_ip_entry"); tls_email_entry = lookup_widget (GTK_WIDGET (button), "tls_email_entry"); tls_bits_spinbutton = lookup_widget (GTK_WIDGET (button), "tls_bits_spinbutton"); tls_valid_spinbutton = lookup_widget (GTK_WIDGET (button), "tls_valid_spinbutton"); tls_password_entry = lookup_widget (GTK_WIDGET (button), "tls_password_entry"); tls_challenge_entry = lookup_widget (GTK_WIDGET (button), "tls_challenge_entry"); tls_country_entry = lookup_widget (GTK_WIDGET (button), "tls_country_entry"); tls_state_entry = lookup_widget (GTK_WIDGET (button), "tls_state_entry"); tls_city_entry = lookup_widget (GTK_WIDGET (button), "tls_city_entry"); tls_org_entry = lookup_widget (GTK_WIDGET (button), "tls_org_entry"); tls_org_unit_entry = lookup_widget (GTK_WIDGET (button), "tls_org_unit_entry"); tls_progressbar = lookup_widget (GTK_WIDGET (button), "tls_progressbar"); ip = gtk_entry_get_text(GTK_ENTRY(tls_ip_entry)); email = gtk_entry_get_text(GTK_ENTRY(tls_email_entry)); bits = gtk_entry_get_text(GTK_ENTRY(tls_bits_spinbutton)); password = gtk_entry_get_text(GTK_ENTRY(tls_password_entry)); challenge = gtk_entry_get_text(GTK_ENTRY(tls_challenge_entry)); valid = gtk_entry_get_text(GTK_ENTRY(tls_valid_spinbutton)); country = gtk_entry_get_text(GTK_ENTRY(tls_country_entry)); state = gtk_entry_get_text(GTK_ENTRY(tls_state_entry)); city = gtk_entry_get_text(GTK_ENTRY(tls_city_entry)); org = gtk_entry_get_text(GTK_ENTRY(tls_org_entry)); org_unit = gtk_entry_get_text(GTK_ENTRY(tls_org_unit_entry)); strcpy(info_buffer, _("Every certificate field must be filled in\n")); /* Show error if a value is missing */ if( strlen(ip)==0 || strlen(email)==0 || strlen(bits)==0 || strlen(password)==0 ) { info_window = create_info_window(); gtk_widget_show(info_window); return; } if( strlen(challenge)==0 || strlen(valid)==0 || strlen(country)==0 || strlen(state)==0 ) { info_window = create_info_window(); gtk_widget_show(info_window); return; } if( strlen(city)==0 || strlen(org)==0 || strlen(org_unit)==0 ) { info_window = create_info_window(); gtk_widget_show(info_window); return; } val=0.0; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); command=(char *)malloc(4096); bzero(command, 4096); pem_path=(char *)malloc(4096); bzero(pem_path, 4096); strcpy(pem_path, GP_APPCONFDIR); strcat(pem_path, "/gproftpd.pem"); /* Check if gprotls.conf exists */ strcpy(command, GP_APPCONFDIR); strcat(command, "/gprotls.conf"); if((fp=fopen(command, "w+"))==NULL) { printf("Error writing gprotls.conf here: %s\n", command); free(command); free(pem_path); /* Show popup */ return; } val=0.1; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); fputs("[ req ]\n", fp); fputs("default_bits = ", fp); fputs(bits, fp); fputs("\n", fp); fputs("default_days = ", fp); fputs(valid, fp); fputs("\n", fp); fputs("distinguished_name = req_distinguished_name\n", fp); fputs("prompt = no\n", fp); fputs("output_password = ", fp); fputs(password, fp); fputs("\n", fp); fputs("\n[ req_distinguished_name ]\n", fp); fputs("C = ", fp); fputs(country, fp); fputs("\nST = ", fp); fputs(state, fp); fputs("\nL = ", fp); fputs(city, fp); fputs("\nO = ", fp); fputs(org, fp); fputs("\nOU = ", fp); fputs(org_unit, fp); fputs("\nCN = ", fp); fputs(ip, fp); fputs("\nemailAddress = ", fp); fputs(email, fp); fputs("\n", fp); fputs("\n[ req_attributes ]", fp); fputs("\nchallengePassword = ", fp); fputs(challenge, fp); fputs("\n", fp); fclose(fp); val=0.2; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Chmod_gprotls_conf_after_write */ strcpy(command, "chmod 600 "); strcat(command, GP_APPCONFDIR); strcat(command, "/gprotls.conf"); exec_ssl(command, "Chmod_gprotls_conf_after_write"); val=0.3; gtk_progress_bar_set_text(GTK_PROGRESS_BAR(tls_progressbar), _("This step can take a while")); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Trusted_cert_and_privkey */ strcpy(command, "openssl req -new -newhdr -out "); strcat(command, GP_APPCONFDIR); strcat(command, "/cert.csr -keyout "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd_privkey.pem -config "); strcat(command, GP_APPCONFDIR); strcat(command, "/gprotls.conf"); exec_ssl(command, "trusted_cert_and_privkey"); val=0.4; gtk_progress_bar_set_text(GTK_PROGRESS_BAR(tls_progressbar), ""); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Proftpd_key */ strcpy(command, "openssl rsa -in "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd_privkey.pem -out "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.key -passin pass:"); strcat(command, password); exec_ssl(command, "Proftpd_key"); val=0.5; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Dump_key */ strcpy(command, "openssl rsa -in "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.key -out "); strcat(command, GP_APPCONFDIR); strcat(command, "/dump.key"); exec_ssl(command, "Dump_key"); val=0.6; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Proftpd_cert */ strcpy(command, "openssl x509 -in "); strcat(command, GP_APPCONFDIR); strcat(command, "/cert.csr -out "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.cert -req -signkey "); strcat(command, GP_APPCONFDIR); strcat(command, "/dump.key -days "); strcat(command, valid); exec_ssl(command, "Proftpd_cert"); val=0.7; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Text_output */ strcpy(command, "openssl req -newhdr -in "); strcat(command, GP_APPCONFDIR); strcat(command, "/cert.csr -text -out "); strcat(command, GP_APPCONFDIR); strcat(command, "/gproftpd.pem -config "); strcat(command, GP_APPCONFDIR); strcat(command, "/gprotls.conf"); exec_ssl(command, "Text_output"); val=0.8; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Combine_cert_with_pem */ strcpy(command, "cat "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.cert >> "); strcat(command, GP_APPCONFDIR); strcat(command, "/gproftpd.pem"); exec_ssl(command, "Combine_cert_with_pem"); /* Combine_key_with_pem */ strcpy(command, "cat "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.key >> "); strcat(command, GP_APPCONFDIR); strcat(command, "/gproftpd.pem"); exec_ssl(command, "Combine_key_with_pem"); /* Chmod_the_certificate */ strcpy(command, "chmod 600 "); strcat(command, GP_APPCONFDIR); strcat(command, "/gproftpd.pem"); exec_ssl(command, "Chmod_the_certificate"); val=0.9; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); /* Clean_dump_key */ strcpy(command, "rm -f "); strcat(command, GP_APPCONFDIR); strcat(command,"/dump.key"); exec_ssl(command, "Clean_dump_key"); /* Clean_priv_key */ strcpy(command, "rm -f "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd_privkey.pem"); exec_ssl(command, "Clean_priv_key"); /* Clean_cert_csr */ strcpy(command, "rm -f "); strcat(command, GP_APPCONFDIR); strcat(command, "/cert.csr"); exec_ssl(command, "Clean_cert_csr"); /* Clean proftpd_key */ strcpy(command, "rm -f "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.key"); exec_ssl(command, "Clean_proftpd_key"); /* Clean proftpd_cert */ strcpy(command, "rm -f "); strcat(command, GP_APPCONFDIR); strcat(command, "/proftpd.cert"); exec_ssl(command, "Clean_proftpd_cert"); val=1.0; gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(tls_progressbar), val); while(gtk_events_pending()) gtk_main_iteration(); if( file_exists(pem_path) ) { strcpy(info_buffer, _("The certificate has been created successfully\n")); strcat(info_buffer, _("and placed in the correct location.\n")); strcat(info_buffer, _("It will be used by new FTP-TLS logins.\n")); } else strcpy(info_buffer, _("The certificate has not been created, something went wrong.\n")); free(command); free(pem_path); info_window = create_info_window(); gtk_widget_show(info_window); } void on_add_server_button_clicked (GtkButton *button, gpointer user_data) { FILE *fp; GtkWidget *info_window; char *server_config; if((fp=fopen(GP_CONF, "a"))==NULL) { sprintf(info_buffer, "%s %s %s", _("Cant open proftpd.conf for writing here:\n"), GP_CONF, _("\nRun GProFTPD as root\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } /* The server configuration to be added */ server_config=(char *)malloc(16384); if( server_config==NULL ) { printf("Add new server: Out of memory.\n"); strcpy(info_buffer, _("Cant allocate enough memory for adding a new server\n")); info_window = create_info_window(); gtk_widget_show(info_window); return; } bzero(server_config, 16384); strcpy(server_config, "\n"); strcat(server_config, "Port 65535\n"); strcat(server_config, "ServerName \"Unspecified\"\n"); strcat(server_config, "ServerIdent on \"Unspecified\"\n"); /* Ask TJ about possible implications */ strcat(server_config, "Bind \"0.0.0.0\"\n"); /* The IANA-registered ephemeral port range */ strcat(server_config, "PassivePorts 49152 65534\n"); strcat(server_config, "#MasqueradeAddress None\n"); strcat(server_config, "ServerAdmin Admin@this.domain\n"); strcat(server_config, "Umask 022\n"); /* strcpy(server_config, "RLimitCPU 70 70\n"); */ strcat(server_config, "TimesGMT off\n"); strcat(server_config, "MaxLoginAttempts 3\n"); strcat(server_config, "TimeoutLogin 300\n"); strcat(server_config, "TimeoutNoTransfer 120\n"); strcat(server_config, "TimeoutIdle 120\n"); strcat(server_config, "User "); strcat(server_config, NOBODY); strcat(server_config, "\n"); strcat(server_config, "Group "); strcat(server_config, NOBODY); strcat(server_config, "\n"); strcat(server_config, "DirFakeUser on "); strcat(server_config, NOBODY); strcat(server_config, "\n"); strcat(server_config, "DirFakeGroup on "); strcat(server_config, NOBODY); strcat(server_config, "\n"); /* strcat(server_config, "DirFakeMode 0640\n"); doesnt have an onoff switch */ strcat(server_config, "DefaultTransferMode binary\n"); strcat(server_config, "AllowForeignAddress on\n"); strcat(server_config, "DeleteAbortedStores off\n"); strcat(server_config, "AllowRetrieveRestart on\n"); strcat(server_config, "AllowStoreRestart on\n"); strcat(server_config, "TransferRate RETR 30\n"); strcat(server_config, "TransferRate STOR 50\n"); strcat(server_config, "TransferRate STOU 50\n"); strcat(server_config, "TransferRate APPE 50\n"); strcat(server_config, "\n"); strcat(server_config, "TLSEngine off\n"); strcat(server_config, "TLSRequired off\n"); strcat(server_config, "TLSVerifyClient off\n"); strcat(server_config, "TLSLog "); strcat(server_config, GP_VARDIR); strcat(server_config, "/log/proftpd_tls.log\n"); strcat(server_config, "TLSRSACertificateFile "); strcat(server_config, GP_SYSCONFDIR); strcat(server_config, "/gproftpd/gproftpd.pem\n"); strcat(server_config, "\n"); strcat(server_config, "\n"); strcat(server_config, " DenyAll\n"); strcat(server_config, "\n"); strcat(server_config, "\n"); fputs("\n", fp); fputs(server_config, fp); fputs("\n", fp); fclose(fp); free(server_config); fix_newlines_in_conf(); list_servers(userlist_treeview, NULL); list_server_values(userlist_treeview, NULL); list_entire(userlist_treeview, NULL); } void on_delete_server_button_clicked (GtkButton *button, gpointer user_data) { FILE *fp; GtkWidget *info_window; GtkTreePath *path; GtkWidget *servers_treeview; GtkTreeIter iter; GtkTreeModel *list_store; G_CONST_RETURN gchar *server_address; G_CONST_RETURN gchar *server_type; G_CONST_RETURN gchar *server_port; gboolean edit=0; char *old_buffer, *config, *temp_vhost, *address_buffer, *port_buffer; int found_server=0, deleted_server=0; long size_buffer; address_buffer=(char *)malloc(8192+15); bzero(address_buffer, 8192+15); port_buffer=(char *)malloc(8192+3); bzero(port_buffer, 8192+3); if( strstr((char *)selected_server_type, "Virtualhost") ) { /* Added \n so it wont match another similar server */ sprintf(address_buffer, "\n", selected_server_address); } else { strcpy(info_buffer, _("The standard server can not be deleted.\n")); strcat(info_buffer, _("Setting a servers port to 0 disables it.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } sprintf(port_buffer, "Port %s\n", selected_server_port); /* Standard server selected, delete the selected user in this (first) server */ if( ! strstr((char *)selected_server_type, "Virtualhost") ) found_server=1; if( strlen(address_buffer)==0 ) { strcpy(info_buffer, _("Refusing to delete a server with no specified name.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } if( strlen(address_buffer)==0 ) { strcpy(info_buffer, _("Refusing to delete a server with no specified name.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } if( strlen(port_buffer)==0 ) { strcpy(info_buffer, _("Refusing to delete a server with no specified port.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } /* Delete the configuration for the deleted user in the right server */ if((fp=fopen(GP_CONF, "r"))==NULL) { strcpy(info_buffer, _("Cant open the proftpd.conf here:\n")); strcat(info_buffer, GP_CONF); strcat(info_buffer, _("\nRun GProFTPD as root\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); config=(char *)malloc(size_buffer); bzero(config, size_buffer); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); temp_vhost=(char *)malloc(size_buffer); bzero(temp_vhost, size_buffer); while(fgets(old_buffer, size_buffer, fp)!=NULL) { /* Is this the correct server..name to delete */ if( strstr("Virtualhost", (char *)selected_server_type) && ! found_server && ! strcmp(old_buffer, address_buffer) && ! deleted_server ) { strcpy(temp_vhost, old_buffer); while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); free(old_buffer); free(config); free(address_buffer); free(port_buffer); free(temp_vhost); fclose(fp); return; } strcat(temp_vhost, old_buffer); if( strstr(old_buffer, "Port ") && ! strcmp(old_buffer, port_buffer) ) { found_server=1; deleted_server=1; /* Scroll past this vhost */ while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); free(old_buffer); free(config); free(address_buffer); free(port_buffer); free(temp_vhost); fclose(fp); return; } strcat(temp_vhost, old_buffer); if( strstr(old_buffer, "") ) break; } } if( strstr(old_buffer, "") ) break; } if( ! found_server ) { strcat(config, temp_vhost); } else { found_server=0; } } else /* Get everything thats not a vhost */ strcat(config, old_buffer); } free(old_buffer); free(address_buffer); free(port_buffer); free(temp_vhost); fclose(fp); if( ! deleted_server ) { strcpy(info_buffer, _("Could not delete the specified server\n")); strcat(info_buffer, _("Try reselecting the server by doubleclicking on it.\n")); info_window=create_info_window(); gtk_widget_show(info_window); free(config); return; } /* Write the new config without the deleted vhost */ if((fp=fopen(GP_CONF, "w+"))==NULL) { printf("Error Writing configuration here: %s\n", GP_CONF); free(config); return; } fputs(config, fp); fclose(fp); free(config); /* Set the treepath to the first row and list that servers settings */ servers_treeview = lookup_widget(GTK_WIDGET(button), "servers_treeview"); /* The defualt server must exist or this will break ! */ path=gtk_tree_path_new_first(); gtk_tree_view_set_cursor(GTK_TREE_VIEW(servers_treeview), path, NULL, edit); list_store = gtk_tree_view_get_model(GTK_TREE_VIEW(servers_treeview)); gtk_tree_model_get_iter(list_store, &iter, path); gtk_tree_path_free(path); gtk_tree_model_get(list_store, &iter, 0, &server_address, -1); gtk_tree_model_get(list_store, &iter, 1, &server_port, -1); gtk_tree_model_get(list_store, &iter, 3, &server_type, -1); if( strlen(server_address)==0 ) { printf("Server address is 0 chars, aborting selection\n"); return; } if( strlen(server_port)==0 ) { printf("Server port length is 0, aborting selection\n"); return; } if( strlen(server_type)==0 ) { printf("Server type length is 0, aborting selection\n"); return; } strcpy(selected_server_address, server_address); strcpy(selected_server_port, server_port); strcpy(selected_server_type, server_type); fix_newlines_in_conf(); list_servers(userlist_treeview, NULL); list_users(userlist_treeview, NULL); list_entire(userlist_treeview, NULL); list_server_values(userlist_treeview, NULL); if( online ) system("killall -1 proftpd"); } void on_apply_server_changes_button_clicked(GtkButton *button, gpointer user_data) { /* Change the selected servers configuration. */ FILE *fp; char *change_srv_ident; long size_buffer; int address_match=0, configuration_changed=0; char *old_buffer, *config, *temp_server, *conf_line, *address_buffer, *port_buffer; GtkWidget *info_window; GtkWidget *entire_textview; GtkWidget *global_server_name; GtkWidget *global_bind_tight_on_off; GtkWidget *global_server_admin_email; GtkWidget *global_server_port; GtkWidget *global_passive_ports_1_spinbutton; GtkWidget *global_passive_ports_2_spinbutton; GtkWidget *global_masquerade_entry; GtkWidget *global_masquerade_address_on_off; GtkWidget *global_max_connect; GtkWidget *global_idle_timeout; GtkWidget *global_resume_uploads; GtkWidget *global_resume_downloads; GtkWidget *global_download_bandwidth; GtkWidget *global_upload_bandwidth; GtkWidget *global_show_server_identity; GtkWidget *global_show_server_identity_on_off; /* These names should be changed... */ GtkWidget *combo1; /* server ident on off */ GtkWidget *combo2; /* ident lookups on off */ GtkWidget *combo3; /* reverse lookups on off */ GtkWidget *combo4; /* Timestandard on off FIXME GMT local time */ GtkWidget *combo5; /* transfermode binary ascii */ GtkWidget *combo6; /* FXP on off */ GtkWidget *combo11; /* delete aborted stores on off */ GtkWidget *combo13; /* resume downloads on off */ GtkWidget *combo14; /* resume uploads on off */ GtkWidget *combo15; /* fake user on off */ GtkWidget *combo16; /* fake group on off */ GtkWidget *combo18; /* bind servers to their addresses on off */ GtkWidget *combo19; /* case randomization upper lower */ GtkWidget *combo20; /* masquerade address on off */ GtkWidget *tls_combo1; /* tls engine on off */ GtkWidget *tls_combo2; /* transfermode both data ctrl off */ GtkWidget *tls_combo3; /* verify clients on off */ GtkWidget *global_reverse_lookups; GtkWidget *global_default_transfer_mode; GtkWidget *global_ident_lookups; GtkWidget *global_allow_fxp; GtkWidget *global_server_user; GtkWidget *global_server_group; GtkWidget *global_fake_user_entry; GtkWidget *global_fake_group_entry; GtkWidget *global_fake_user_combo; GtkWidget *global_fake_group_combo; GtkWidget *global_time_standard; GtkWidget *global_max_login_attempts; GtkWidget *global_timeout_login; GtkWidget *global_delete_aborted_stores; GtkWidget *global_systemlog_entry; GtkWidget *global_rand_username; GtkWidget *global_rand_password; GtkWidget *global_rand_case; GtkWidget *global_useradd_root_path; GtkWidget *global_useradd_upload_path; GtkWidget *html_entry; GtkWidget *welcome_entry; GtkWidget *global_html_path; GtkWidget *global_welcome_path; GtkWidget *tls_use_combo_entry, *tls_use_encryption_combo_entry; GtkWidget *tls_verify_clients_combo_entry, *tls_protocols_entry; GtkWidget *tls_rsa_cert_entry, *tls_logfile_entry; G_CONST_RETURN gchar *current_change_name; G_CONST_RETURN gchar *current_change_bind_tight; G_CONST_RETURN gchar *current_change_server_admin; G_CONST_RETURN gchar *current_change_port; G_CONST_RETURN gchar *current_change_passive_ports_1; G_CONST_RETURN gchar *current_change_passive_ports_2; G_CONST_RETURN gchar *current_change_masquerade_address; G_CONST_RETURN gchar *current_change_masquerade_address_on_off; G_CONST_RETURN gchar *current_change_max_connect; G_CONST_RETURN gchar *current_change_no_transfer; G_CONST_RETURN gchar *current_change_identity; G_CONST_RETURN gchar *current_change_identity_on_off; G_CONST_RETURN gchar *current_change_transfer_mode; G_CONST_RETURN gchar *current_change_ident_lookups; G_CONST_RETURN gchar *current_change_reverse_lookups; G_CONST_RETURN gchar *current_change_server_user; G_CONST_RETURN gchar *current_change_server_group; G_CONST_RETURN gchar *current_change_fake_username; G_CONST_RETURN gchar *current_change_fake_groupname; G_CONST_RETURN gchar *current_change_fake_username_on_off; G_CONST_RETURN gchar *current_change_fake_groupname_on_off; G_CONST_RETURN gchar *current_change_allow_fxp; G_CONST_RETURN gchar *current_change_time_standard; G_CONST_RETURN gchar *current_change_max_login_attempts; G_CONST_RETURN gchar *current_change_timeout_login; G_CONST_RETURN gchar *current_change_resume_dl; G_CONST_RETURN gchar *current_change_download_bandwidth; G_CONST_RETURN gchar *current_change_resume_ul; G_CONST_RETURN gchar *current_change_upload_bandwidth; G_CONST_RETURN gchar *current_change_delete_aborted_stores; G_CONST_RETURN gchar *current_change_systemlog; G_CONST_RETURN gchar *current_change_rand_username; G_CONST_RETURN gchar *current_change_rand_password; G_CONST_RETURN gchar *current_change_rand_case; G_CONST_RETURN gchar *current_change_root_path; G_CONST_RETURN gchar *current_change_upload_path; G_CONST_RETURN gchar *current_change_html_path; G_CONST_RETURN gchar *current_change_welcome_name; G_CONST_RETURN gchar *current_tls_use_combo_entry; G_CONST_RETURN gchar *current_tls_use_encryption_combo_entry; G_CONST_RETURN gchar *current_tls_verify_clients_combo_entry; G_CONST_RETURN gchar *current_tls_protocols_entry; G_CONST_RETURN gchar *current_tls_rsa_cert_entry; G_CONST_RETURN gchar *current_tls_logfile_entry; global_server_name = lookup_widget (GTK_WIDGET (button), "global_server_name"); global_bind_tight_on_off = lookup_widget (GTK_WIDGET (button), "global_bind_tight_on_off"); global_server_admin_email = lookup_widget (GTK_WIDGET (button), "global_server_admin_email"); global_server_port = lookup_widget (GTK_WIDGET (button), "global_server_port"); global_passive_ports_1_spinbutton = lookup_widget (GTK_WIDGET (button), "global_passive_ports_1_spinbutton"); global_passive_ports_2_spinbutton = lookup_widget (GTK_WIDGET (button), "global_passive_ports_2_spinbutton"); global_masquerade_entry = lookup_widget (GTK_WIDGET (button), "global_masquerade_entry"); global_masquerade_address_on_off = lookup_widget (GTK_WIDGET (button), "global_masquerade_address_on_off"); global_max_connect = lookup_widget (GTK_WIDGET (button), "global_max_connect"); global_idle_timeout = lookup_widget (GTK_WIDGET (button), "global_idle_timeout"); global_resume_uploads = lookup_widget (GTK_WIDGET (button), "global_resume_uploads"); global_resume_downloads = lookup_widget (GTK_WIDGET (button), "global_resume_downloads"); global_download_bandwidth = lookup_widget (GTK_WIDGET (button), "global_download_bandwidth"); global_upload_bandwidth = lookup_widget (GTK_WIDGET (button), "global_upload_bandwidth"); global_show_server_identity = lookup_widget (GTK_WIDGET (button), "global_show_server_identity"); global_show_server_identity_on_off = lookup_widget (GTK_WIDGET (button), "global_show_server_identity_on_off"); combo1 = lookup_widget (GTK_WIDGET (button), "combo1"); combo2 = lookup_widget (GTK_WIDGET (button), "combo2"); combo3 = lookup_widget (GTK_WIDGET (button), "combo3"); combo4 = lookup_widget (GTK_WIDGET (button), "combo4"); combo5 = lookup_widget (GTK_WIDGET (button), "combo5"); combo6 = lookup_widget (GTK_WIDGET (button), "combo6"); combo11 = lookup_widget (GTK_WIDGET (button), "combo11"); combo13 = lookup_widget (GTK_WIDGET (button), "combo13"); combo14 = lookup_widget (GTK_WIDGET (button), "combo14"); combo15 = lookup_widget (GTK_WIDGET (button), "combo15"); combo16 = lookup_widget (GTK_WIDGET (button), "combo16"); combo18 = lookup_widget (GTK_WIDGET (button), "combo18"); combo19 = lookup_widget (GTK_WIDGET (button), "combo19"); combo20 = lookup_widget (GTK_WIDGET (button), "combo20"); tls_combo1 = lookup_widget (GTK_WIDGET (button), "tls_combo1"); tls_combo2 = lookup_widget (GTK_WIDGET (button), "tls_combo2"); tls_combo3 = lookup_widget (GTK_WIDGET (button), "tls_combo3"); global_reverse_lookups = lookup_widget (GTK_WIDGET (button), "global_reverse_lookups"); global_default_transfer_mode = lookup_widget (GTK_WIDGET (button), "global_default_transfer_mode"); global_ident_lookups = lookup_widget (GTK_WIDGET (button), "global_ident_lookups"); global_allow_fxp = lookup_widget (GTK_WIDGET (button), "global_allow_fxp"); global_server_user = lookup_widget (GTK_WIDGET (button), "global_server_user"); global_server_group = lookup_widget (GTK_WIDGET (button), "global_server_group"); global_fake_user_entry = lookup_widget (GTK_WIDGET (button), "global_fake_user_entry"); global_fake_user_combo = lookup_widget (GTK_WIDGET (button), "global_fake_user_combo"); global_fake_group_entry = lookup_widget (GTK_WIDGET (button), "global_fake_group_entry"); global_fake_group_combo = lookup_widget (GTK_WIDGET (button), "global_fake_group_combo"); global_time_standard = lookup_widget (GTK_WIDGET (button), "global_time_standard"); global_max_login_attempts = lookup_widget (GTK_WIDGET (button), "global_max_login_attempts"); global_timeout_login = lookup_widget (GTK_WIDGET (button), "global_timeout_login"); global_delete_aborted_stores = lookup_widget (GTK_WIDGET (button), "global_delete_aborted_stores"); global_systemlog_entry = lookup_widget (GTK_WIDGET (button), "global_systemlog_entry"); global_rand_username = lookup_widget (GTK_WIDGET (button), "global_rand_username"); global_rand_password = lookup_widget (GTK_WIDGET (button), "global_rand_password"); global_rand_case = lookup_widget (GTK_WIDGET (button), "global_rand_case"); global_useradd_root_path = lookup_widget (GTK_WIDGET (button), "global_useradd_root_path"); global_useradd_upload_path = lookup_widget (GTK_WIDGET (button), "global_useradd_upload_path"); html_entry = lookup_widget (GTK_WIDGET (button), "html_entry"); welcome_entry = lookup_widget (GTK_WIDGET (button), "welcome_entry"); global_html_path = lookup_widget (GTK_WIDGET (button), "global_html_path"); global_welcome_path = lookup_widget (GTK_WIDGET (button), "global_welcome_path"); entire_textview = lookup_widget (GTK_WIDGET (button), "entire_textview"); tls_use_combo_entry = lookup_widget (GTK_WIDGET (button), "tls_use_combo_entry"); tls_use_encryption_combo_entry = lookup_widget (GTK_WIDGET (button), "tls_use_encryption_combo_entry"); tls_verify_clients_combo_entry = lookup_widget (GTK_WIDGET (button), "tls_verify_clients_combo_entry"); tls_protocols_entry = lookup_widget (GTK_WIDGET (button), "tls_protocols_entry"); tls_rsa_cert_entry = lookup_widget (GTK_WIDGET (button), "tls_rsa_cert_entry"); tls_logfile_entry = lookup_widget (GTK_WIDGET (button), "tls_logfile_entry"); current_change_name = gtk_entry_get_text(GTK_ENTRY(global_server_name)); current_change_bind_tight = gtk_entry_get_text(GTK_ENTRY(global_bind_tight_on_off)); current_change_server_admin = gtk_entry_get_text(GTK_ENTRY(global_server_admin_email)); current_change_port = gtk_entry_get_text(GTK_ENTRY(global_server_port)); current_change_passive_ports_1 = gtk_entry_get_text(GTK_ENTRY(global_passive_ports_1_spinbutton)); current_change_passive_ports_2 = gtk_entry_get_text(GTK_ENTRY(global_passive_ports_2_spinbutton)); current_change_masquerade_address = gtk_entry_get_text(GTK_ENTRY(global_masquerade_entry)); current_change_masquerade_address_on_off = gtk_entry_get_text(GTK_ENTRY(global_masquerade_address_on_off)); current_change_max_connect = gtk_entry_get_text(GTK_ENTRY(global_max_connect)); current_change_no_transfer = gtk_entry_get_text(GTK_ENTRY(global_idle_timeout)); current_change_resume_ul = gtk_entry_get_text(GTK_ENTRY(global_resume_uploads)); current_change_resume_dl = gtk_entry_get_text(GTK_ENTRY(global_resume_downloads)); current_change_upload_bandwidth = gtk_entry_get_text(GTK_ENTRY(global_upload_bandwidth)); current_change_download_bandwidth = gtk_entry_get_text(GTK_ENTRY(global_download_bandwidth)); current_change_identity = gtk_entry_get_text(GTK_ENTRY(global_show_server_identity)); current_change_identity_on_off = gtk_entry_get_text(GTK_ENTRY(global_show_server_identity_on_off)); current_change_reverse_lookups = gtk_entry_get_text(GTK_ENTRY(global_reverse_lookups)); current_change_transfer_mode = gtk_entry_get_text(GTK_ENTRY(global_default_transfer_mode)); current_change_ident_lookups = gtk_entry_get_text(GTK_ENTRY(global_ident_lookups)); current_change_server_user = gtk_entry_get_text(GTK_ENTRY(global_server_user)); current_change_server_group = gtk_entry_get_text(GTK_ENTRY(global_server_group)); current_change_fake_username = gtk_entry_get_text(GTK_ENTRY(global_fake_user_entry)); current_change_fake_username_on_off = gtk_entry_get_text(GTK_ENTRY(global_fake_user_combo)); current_change_fake_groupname = gtk_entry_get_text(GTK_ENTRY(global_fake_group_entry)); current_change_fake_groupname_on_off = gtk_entry_get_text(GTK_ENTRY(global_fake_group_combo)); current_change_allow_fxp = gtk_entry_get_text(GTK_ENTRY(global_allow_fxp)); current_change_time_standard = gtk_entry_get_text(GTK_ENTRY(global_time_standard)); current_change_max_login_attempts = gtk_entry_get_text(GTK_ENTRY(global_max_login_attempts)); current_change_timeout_login = gtk_entry_get_text(GTK_ENTRY(global_timeout_login)); current_change_delete_aborted_stores = gtk_entry_get_text(GTK_ENTRY(global_delete_aborted_stores)); current_change_systemlog = gtk_entry_get_text(GTK_ENTRY(global_systemlog_entry)); current_change_rand_username = gtk_entry_get_text(GTK_ENTRY(global_rand_username)); current_change_rand_password = gtk_entry_get_text(GTK_ENTRY(global_rand_password)); current_change_rand_case = gtk_entry_get_text(GTK_ENTRY(global_rand_case)); current_change_root_path = gtk_entry_get_text(GTK_ENTRY(global_useradd_root_path)); current_change_upload_path = gtk_entry_get_text(GTK_ENTRY(global_useradd_upload_path)); current_change_html_path = gtk_entry_get_text(GTK_ENTRY(global_html_path)); current_change_welcome_name = gtk_entry_get_text(GTK_ENTRY(global_welcome_path)); current_tls_use_combo_entry = gtk_entry_get_text(GTK_ENTRY(tls_use_combo_entry)); current_tls_use_encryption_combo_entry = gtk_entry_get_text(GTK_ENTRY(tls_use_encryption_combo_entry)); current_tls_verify_clients_combo_entry = gtk_entry_get_text(GTK_ENTRY(tls_verify_clients_combo_entry)); current_tls_protocols_entry = gtk_entry_get_text(GTK_ENTRY(tls_protocols_entry)); current_tls_rsa_cert_entry = gtk_entry_get_text(GTK_ENTRY(tls_rsa_cert_entry)); current_tls_logfile_entry = gtk_entry_get_text(GTK_ENTRY(tls_logfile_entry)); address_buffer=(char *)malloc(8192+15); bzero(address_buffer, 8192+15); port_buffer=(char *)malloc(8192+3); bzero(port_buffer, 8192+3); if( strstr((char *)selected_server_type, "Virtualhost") ) sprintf(address_buffer, "\n", selected_server_address); sprintf(port_buffer, "Port %s\n", selected_server_port); if( strlen(address_buffer)==0 && strstr((char *)selected_server_type, "Virtualhost") ) { strcpy(info_buffer, _("Refusing to change a server without a specified name.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } if( strlen(port_buffer)==0 ) { strcpy(info_buffer, _("Refusing to change a server without a specified port.\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(address_buffer); free(port_buffer); return; } /* Change the configuration for the selected server */ if((fp=fopen(GP_CONF, "r"))==NULL) { strcpy(info_buffer, _("Cant open proftpd.conf here:\n")); strcat(info_buffer, GP_CONF); strcat(info_buffer, _("\nRun GProFTPD as root\n")); info_window = create_info_window (); gtk_widget_show (info_window); return; } fseek(fp, 0, SEEK_END); size_buffer = ftell(fp); rewind(fp); /* Incremented for possible additional confvalues */ config=(char *)malloc(size_buffer+16384); bzero(config, size_buffer+16384); old_buffer=(char *)malloc(size_buffer); bzero(old_buffer, size_buffer); temp_server=(char *)malloc(size_buffer); bzero(temp_server, size_buffer); conf_line=(char *)malloc(8192); bzero(conf_line, 8192); change_srv_ident=(char *)malloc(8192); bzero(change_srv_ident, 8192); /* ------------- Change the standard server ----------- */ if( ! strstr("Virtualhost", (char *)selected_server_type) ) { configuration_changed=1; while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { if( strlen(old_buffer) > 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); free(old_buffer); free(config); free(address_buffer); free(port_buffer); free(temp_server); free(conf_line); free(change_srv_ident); fclose(fp); return; } /* Change matching directives otherwise just gather them */ if( strstr(old_buffer, "ServerName") ) { sprintf(conf_line, "ServerName \"%s\"\n", current_change_name); strcat(config, conf_line); } else if( strstr(old_buffer, "ServerIdent") ) { if( combo_selection(combo1) == 0 ) sprintf(conf_line, "ServerIdent on \"%s\"\n", current_change_identity); else sprintf(conf_line, "ServerIdent off \"%s\"\n", current_change_identity); strcat(config, conf_line); } else if( strstr(old_buffer, "MasqueradeAddress") ) { if( combo_selection(combo20) == 0 && strlen(current_change_masquerade_address) > 4 ) sprintf(conf_line, "MasqueradeAddress %s\n", current_change_masquerade_address); else if( strlen(current_change_masquerade_address) > 4 ) sprintf(conf_line, "#MasqueradeAddress %s\n", current_change_masquerade_address); else sprintf(conf_line, "#MasqueradeAddress None\n"); strcat(config, conf_line); } else /* Set to server ident if on or servername ? */ if( strstr(old_buffer, "Bind") && ! strstr(old_buffer, "SocketBindTight ") ) { sprintf(conf_line, "Bind \"%s\"\n", current_change_name); strcat(config, conf_line); } else /* Bind to the selected ip or dns name */ if( strstr(old_buffer, "SocketBindTight") ) { if( combo_selection(combo18) == 0 ) sprintf(conf_line, "SocketBindTight on\n"); else sprintf(conf_line, "SocketBindTight off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "ServerAdmin") ) { sprintf(conf_line, "ServerAdmin %s\n",current_change_server_admin); strcat(config, conf_line); } else if( strstr(old_buffer, "Port") && old_buffer[4]==' ' ) { sprintf(conf_line, "Port %s\n",current_change_port); strcat(config, conf_line); } else if( strstr(old_buffer, "PassivePorts") ) { sprintf(conf_line, "PassivePorts %s %s\n",current_change_passive_ports_1, current_change_passive_ports_2); strcat(config, conf_line); } else if( strstr(old_buffer, "MaxInstances") ) { sprintf(conf_line, "MaxInstances %s\n",current_change_max_connect); strcat(config, conf_line); } else if( strstr(old_buffer, "TimeoutNoTransfer") ) { sprintf(conf_line, "TimeoutNoTransfer %s\n",current_change_no_transfer); strcat(config, conf_line); } else if( strstr(old_buffer, "TimeoutIdle") ) { sprintf(conf_line, "TimeoutIdle %s\n",current_change_no_transfer); strcat(config, conf_line); } else if( strstr(old_buffer, "AllowStoreRestart") ) { if( combo_selection(combo14) == 0 ) sprintf(conf_line, "AllowStoreRestart on\n"); else sprintf(conf_line, "AllowStoreRestart off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "AllowRetrieveRestart") ) { if( combo_selection(combo13) == 0 ) sprintf(conf_line, "AllowRetrieveRestart on\n"); else sprintf(conf_line, "AllowRetrieveRestart off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "TransferRate RETR") ) { sprintf(conf_line, "TransferRate RETR %s\n",current_change_download_bandwidth); strcat(config, conf_line); } else if( strstr(old_buffer, "TransferRate STOR") ) { sprintf(conf_line, "TransferRate STOR %s\n",current_change_upload_bandwidth); strcat(config, conf_line); } else if( strstr(old_buffer, "TransferRate STOU") ) { sprintf(conf_line, "TransferRate STOU %s\n",current_change_upload_bandwidth); strcat(config, conf_line); } else if( strstr(old_buffer, "TransferRate APPE") ) { sprintf(conf_line, "TransferRate APPE %s\n",current_change_upload_bandwidth); strcat(config, conf_line); } else if( strstr(old_buffer, "UseReverseDNS") ) { if( combo_selection(combo3) == 0 ) sprintf(conf_line, "UseReverseDNS on\n"); else sprintf(conf_line, "UseReverseDNS off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "IdentLookups") ) { if( combo_selection(combo2) == 0 ) sprintf(conf_line, "IdentLookups on\n"); else sprintf(conf_line, "IdentLookups off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "DefaultTransferMode") ) { if( combo_selection(combo5) == 0 ) sprintf(conf_line, "DefaultTransferMode binary\n"); else sprintf(conf_line, "DefaultTransferMode ascii\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "User") && old_buffer[4]==' ' ) { sprintf(conf_line, "User %s\n",current_change_server_user); strcat(config, conf_line); } else if( strstr(old_buffer, "Group") && old_buffer[5]==' ' ) { sprintf(conf_line, "Group %s\n",current_change_server_group); strcat(config, conf_line); } else if( strstr(old_buffer, "DirFakeUser") ) { if( combo_selection(combo15) == 0 ) sprintf(conf_line, "DirFakeUser on %s\n", current_change_fake_username); else sprintf(conf_line, "DirFakeUser off %s\n", current_change_fake_username); strcat(config, conf_line); } else if( strstr(old_buffer, "DirFakeGroup") ) { if( combo_selection(combo16) == 0 ) sprintf(conf_line, "DirFakeGroup on %s\n", current_change_fake_groupname); else sprintf(conf_line, "DirFakeGroup off %s\n", current_change_fake_groupname); strcat(config, conf_line); } else if( strstr(old_buffer, "AllowForeignAddress") ) { if( combo_selection(combo6) == 0 ) sprintf(conf_line, "AllowForeignAddress on\n"); else sprintf(conf_line, "AllowForeignAddress off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "TimesGMT") ) { if( combo_selection(combo4) == 0 ) sprintf(conf_line, "TimesGMT on\n"); else sprintf(conf_line, "TimesGMT off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "MaxLoginAttempts") ) { sprintf(conf_line, "MaxLoginAttempts %s\n",current_change_max_login_attempts); strcat(config, conf_line); } else if( strstr(old_buffer, "TimeoutLogin") ) { sprintf(conf_line, "TimeoutLogin %s\n",current_change_timeout_login); strcat(config, conf_line); } else if( strstr(old_buffer, "DeleteAbortedStores") ) { if( combo_selection(combo11) == 0 ) sprintf(conf_line, "DeleteAbortedStores on\n"); else sprintf(conf_line, "DeleteAbortedStores off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "SystemLog") ) { sprintf(conf_line, "SystemLog %s\n",current_change_systemlog); strcat(config, conf_line); } else if( strstr(old_buffer, "#gp_random_username_length") && strlen(current_change_rand_username)<=128 ) { sprintf(conf_line, "#gp_random_username_length %s\n",current_change_rand_username); strcat(config, conf_line); global_username_randlen=atoi(current_change_rand_username); } else if( strstr(old_buffer, "#gp_random_password_length") && strlen(current_change_rand_password)<=128 ) { sprintf(conf_line, "#gp_random_password_length %s\n",current_change_rand_password); strcat(config, conf_line); global_password_randlen=atoi(current_change_rand_password); } else if( strstr(old_buffer, "#gp_randomize_case") ) { if( combo_selection(combo19) == 0 ) sprintf(conf_line, "#gp_randomize_case upper\n"); else sprintf(conf_line, "#gp_randomize_case lower\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "#gp_useradd_root_path") && strlen(current_change_root_path)<=8000 ) { sprintf(conf_line, "#gp_useradd_root_path %s\n", current_change_root_path); strcat(config, conf_line); sprintf(gp_useradd_root_path, "%s", current_change_root_path); } else if( strstr(old_buffer, "#gp_useradd_upload_path") && strlen(current_change_upload_path)<=8000 ) { sprintf(conf_line, "#gp_useradd_upload_path %s\n",current_change_upload_path); strcat(config, conf_line); sprintf(gp_useradd_upload_path, "%s", current_change_upload_path); } else if( strstr(old_buffer, "#gp_html_path") ) { sprintf(conf_line, "#gp_html_path %s\n",current_change_html_path); strcat(config, conf_line); gtk_entry_set_text(GTK_ENTRY(html_entry), current_change_html_path); } else if( strstr(old_buffer, "#gp_welcome_name") ) { sprintf(conf_line, "#gp_welcome_name %s\n",current_change_welcome_name); strcat(config, conf_line); gtk_entry_set_text(GTK_ENTRY(welcome_entry), current_change_welcome_name); } else if( strstr(old_buffer, "TLSEngine") ) { if( combo_selection(tls_combo1) == 0 ) sprintf(conf_line, "TLSEngine on\n"); else sprintf(conf_line, "TLSEngine off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "TLSRequired") ) { if( combo_selection(tls_combo2) == 0 ) sprintf(conf_line, "TLSRequired on\n"); else if( combo_selection(tls_combo2) == 1 ) sprintf(conf_line, "TLSRequired data\n"); else if( combo_selection(tls_combo2) == 2 ) sprintf(conf_line, "TLSRequired ctrl\n"); else if( combo_selection(tls_combo2) == 3 ) sprintf(conf_line, "TLSRequired off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "TLSVerifyClient") ) { if( combo_selection(tls_combo3) == 0 ) sprintf(conf_line, "TLSVerifyClient on\n"); else sprintf(conf_line, "TLSVerifyClient off\n"); strcat(config, conf_line); } else if( strstr(old_buffer, "TLSProtocol") ) { sprintf(conf_line, "TLSProtocol %s\n", current_tls_protocols_entry); strcat(config, conf_line); } else if( strstr(old_buffer, "TLSLog") ) { sprintf(conf_line, "TLSLog %s\n", current_tls_logfile_entry); strcat(config, conf_line); } else if( strstr(old_buffer, "TLSRSACertificateFile") ) { sprintf(conf_line, "TLSRSACertificateFile %s\n", current_tls_rsa_cert_entry); strcat(config, conf_line); } else if( strstr(old_buffer, " 8000 ) { sprintf(info_buffer, _("A line with over 8000 chars is not valid in: %s\n"), GP_CONF); info_window=create_info_window(); gtk_widget_show(info_window); free(old_buffer); free(config); free(address_buffer); free(port_buffer); free(temp_server); free(conf_line); free(change_srv_ident); fclose(fp); return; } /* We have found the first virtualhost */ if( strstr(old_buffer, "\n", current_change_name); strcat(temp_server, "Port "); strcat(temp_server, current_change_port); strcat(temp_server, "\n"); while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { /* Here we change the virtualhost values and get any user-defined values */ if( strstr(old_buffer, "ServerName") ) { sprintf(conf_line, "ServerName \"%s\"\n",current_change_name); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "ServerIdent") ) { if( combo_selection(combo1) == 0 ) sprintf(conf_line, "ServerIdent on \"%s\"\n", current_change_identity); else sprintf(conf_line, "ServerIdent off \"%s\"\n", current_change_identity); strcat(temp_server, conf_line); } else /* Set to server ident if on or servername ? */ if( strstr(old_buffer, "Bind") && ! strstr(old_buffer, "SocketBindTight ") ) { sprintf(conf_line, "Bind \"%s\"\n", current_change_name); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "ServerAdmin") ) { sprintf(conf_line, "ServerAdmin %s\n",current_change_server_admin); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "Port") && old_buffer[4]==' ' ) { if( strstr("Virtualhost", (char *)selected_server_type) ) { printf("Dumped this old Port-line: %s\n", old_buffer); } else { sprintf(conf_line, "Port %s\n",current_change_port); strcat(temp_server, conf_line); } } else if( strstr(old_buffer, "PassivePorts") ) { sprintf(conf_line, "PassivePorts %s %s\n",current_change_passive_ports_1, current_change_passive_ports_2); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "MasqueradeAddress") ) { if( combo_selection(combo20) == 0 && strlen(current_change_masquerade_address) > 4 ) sprintf(conf_line, "MasqueradeAddress %s\n", current_change_masquerade_address); else if( strlen(current_change_masquerade_address) > 4 ) sprintf(conf_line, "#MasqueradeAddress %s\n", current_change_masquerade_address); else sprintf(conf_line, "#MasqueradeAddress None\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "MaxInstances") ) { sprintf(conf_line, "MaxInstances %s\n",current_change_max_connect); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TimeoutNoTransfer") ) { sprintf(conf_line, "TimeoutNoTransfer %s\n",current_change_no_transfer); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TimeoutIdle") ) { sprintf(conf_line, "TimeoutIdle %s\n",current_change_no_transfer); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "AllowStoreRestart") ) { if( combo_selection(combo14) == 0 ) sprintf(conf_line, "AllowStoreRestart on\n"); else sprintf(conf_line, "AllowStoreRestart off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "AllowRetrieveRestart") ) { if( combo_selection(combo13) == 0 ) sprintf(conf_line, "AllowRetrieveRestart on\n"); else sprintf(conf_line, "AllowRetrieveRestart off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TransferRate RETR") ) { sprintf(conf_line, "TransferRate RETR %s\n",current_change_download_bandwidth); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TransferRate STOR") ) { sprintf(conf_line, "TransferRate STOR %s\n",current_change_upload_bandwidth); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TransferRate STOU") ) { sprintf(conf_line, "TransferRate STOU %s\n",current_change_upload_bandwidth); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TransferRate APPE") ) { sprintf(conf_line, "TransferRate APPE %s\n",current_change_upload_bandwidth); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "UseReverseDNS") ) { if( combo_selection(combo3) == 0 ) sprintf(conf_line, "UseReverseDNS on\n"); else sprintf(conf_line, "UseReverseDNS off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "IdentLookups") ) { if( combo_selection(combo2) == 0 ) sprintf(conf_line, "IdentLookups on\n"); else sprintf(conf_line, "IdentLookups off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "DefaultTransferMode") ) { if( combo_selection(combo5) == 0 ) sprintf(conf_line, "DefaultTransferMode binary\n"); else sprintf(conf_line, "DefaultTransferMode ascii\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "User") && old_buffer[4]==' ' ) { sprintf(conf_line, "User %s\n",current_change_server_user); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "Group") && old_buffer[5]==' ' ) { sprintf(conf_line, "Group %s\n",current_change_server_group); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "DirFakeUser") ) { if( combo_selection(combo15) == 0 ) sprintf(conf_line, "DirFakeUser on %s\n", current_change_fake_username); else sprintf(conf_line, "DirFakeUser off %s\n", current_change_fake_username); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "DirFakeGroup") ) { if( combo_selection(combo16) == 0 ) sprintf(conf_line, "DirFakeGroup on %s\n", current_change_fake_username); else sprintf(conf_line, "DirFakeGroup off %s\n", current_change_fake_username); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "AllowForeignAddress") ) { if( combo_selection(combo6) == 0 ) sprintf(conf_line, "AllowForeignAddress on\n"); else sprintf(conf_line, "AllowForeignAddress off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TimesGMT") ) { if( combo_selection(combo4) == 0 ) sprintf(conf_line, "TimesGMT on\n"); else sprintf(conf_line, "TimesGMT off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "MaxLoginAttempts") ) { sprintf(conf_line, "MaxLoginAttempts %s\n",current_change_max_login_attempts); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TimeoutLogin") ) { sprintf(conf_line, "TimeoutLogin %s\n",current_change_timeout_login); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "DeleteAbortedStores") ) { if( combo_selection(combo11) == 0 ) sprintf(conf_line, "DeleteAbortedStores on\n"); else sprintf(conf_line, "DeleteAbortedStores off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "SystemLog") ) { sprintf(conf_line, "SystemLog %s\n",current_change_systemlog); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "#gp_random_username_length") && strlen(current_change_rand_username)<=128 ) { sprintf(conf_line, "#gp_random_username_length %s\n",current_change_rand_username); strcat(temp_server, conf_line); global_username_randlen=atoi(current_change_rand_username); } else if( strstr(old_buffer, "#gp_random_password_length") && strlen(current_change_rand_password)<=128 ) { sprintf(conf_line, "#gp_random_password_length %s\n",current_change_rand_password); strcat(temp_server, conf_line); global_password_randlen=atoi(current_change_rand_password); } else if( strstr(old_buffer, "#gp_useradd_root_path") && strlen(current_change_root_path)<=8000 ) { sprintf(conf_line, "#gp_useradd_root_path %s\n", current_change_root_path); strcat(temp_server, conf_line); sprintf(gp_useradd_root_path, "%s", current_change_root_path); } else if( strstr(old_buffer, "#gp_useradd_upload_path") && strlen(current_change_upload_path)<=8000 ) { sprintf(conf_line, "#gp_useradd_upload_path %s\n",current_change_upload_path); strcat(temp_server, conf_line); sprintf(gp_useradd_upload_path, "%s", current_change_upload_path); } else if( strstr(old_buffer, "#gp_html_path") ) { sprintf(conf_line, "#gp_html_path %s\n",current_change_html_path); strcat(temp_server, conf_line); gtk_entry_set_text(GTK_ENTRY(html_entry), current_change_html_path); } else if( strstr(old_buffer, "#gp_welcome_name") ) { sprintf(conf_line, "#gp_welcome_name %s\n",current_change_welcome_name); strcat(temp_server, conf_line); gtk_entry_set_text(GTK_ENTRY(welcome_entry), current_change_welcome_name); } else if( strstr(old_buffer, "TLSEngine") ) { if( combo_selection(tls_combo1) == 0 ) sprintf(conf_line, "TLSEngine on\n"); else sprintf(conf_line, "TLSEngine off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TLSRequired") ) { if( combo_selection(tls_combo2) == 0 ) sprintf(conf_line, "TLSRequired on\n"); else if( combo_selection(tls_combo2) == 1 ) sprintf(conf_line, "TLSRequired data\n"); else if( combo_selection(tls_combo2) == 2 ) sprintf(conf_line, "TLSRequired ctrl\n"); else if( combo_selection(tls_combo2) == 3 ) sprintf(conf_line, "TLSRequired off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TLSVerifyClient") ) { if( combo_selection(tls_combo3) == 0 ) sprintf(conf_line, "TLSVerifyClient on\n"); else sprintf(conf_line, "TLSVerifyClient off\n"); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TLSProtocol") ) { sprintf(conf_line, "TLSProtocol %s\n", current_tls_protocols_entry); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TLSLog") ) { sprintf(conf_line, "TLSLog %s\n", current_tls_logfile_entry); strcat(temp_server, conf_line); } else if( strstr(old_buffer, "TLSRSACertificateFile") ) { sprintf(conf_line, "TLSRSACertificateFile %s\n", current_tls_rsa_cert_entry); strcat(temp_server, conf_line); } else strcat(temp_server, old_buffer); /* At virtual end we have made our changes add them and get everything else */ if( strstr(old_buffer, "") ) { /* Add the changed config */ strcat(config, temp_server); configuration_changed=1; while(fgets((char*)old_buffer, size_buffer, fp)!=NULL) { strcat(config, old_buffer); } } } } else /* Get everything else but the beginning of the next vhost */ { if( ! strcmp(old_buffer, (char *)address_buffer) ) { /* Change later */ } else { strcat(config, old_buffer); } } } free(old_buffer); free(address_buffer); free(port_buffer); free(change_srv_ident); free(temp_server); fclose(fp); } /* Write the new config if any changes where made */ if( configuration_changed ) { /* Make a space left check here */ if((fp=fopen(GP_CONF, "w+"))==NULL) { strcpy(info_buffer, _("Cant open proftpd.conf here:\n")); strcat(info_buffer, GP_CONF); strcat(info_buffer, _("\nRun GProFTPD as root\n")); info_window = create_info_window (); gtk_widget_show (info_window); free(config); return; } fputs(config, fp); fclose(fp); } else { strcpy(info_buffer, _("Could not find the specified server, no changes where made.\n")); strcat(info_buffer, _("Try reselecting the server by doubleclicking on it.\n")); info_window=create_info_window(); gtk_widget_show(info_window); free(config); return; } free(config); fix_newlines_in_conf(); /* Reread the changes if online and update the gui */ list_entire(userlist_treeview, NULL); list_users(userlist_treeview, NULL); /* We must also relist the server tab but the selected server should not change FIXME */ list_servers(userlist_treeview, NULL); if( online ) system("killall -1 proftpd"); } void on_import_users_button_clicked (GtkButton *button, gpointer user_data) { GtkWidget *import_window; import_window = create_import_window(); gtk_widget_show(import_window); userlist_treeview = lookup_widget(GTK_WIDGET(button), "userlist_treeview"); } 0707010001dbea000081a4000000020000000200000001403c9401000028f8000000200000000000000000000000000000001600000000reloc/src/callbacks.h#include int is_banned(char *user); int user_exists(G_CONST_RETURN gchar *username); int group_exists(G_CONST_RETURN gchar *groupname); void list_users(GtkWidget *widget, gpointer user_data); void list_server_values(GtkWidget *widget, gpointer user_data); void list_entire(GtkWidget *widget, gpointer user_data); void on_online_button_clicked (GtkButton *button, gpointer user_data); void on_offline_button_clicked (GtkButton *button, gpointer user_data); void on_reread_button_clicked (GtkButton *button, gpointer user_data); void on_gproftpd_window_map (GtkWidget *widget, gpointer user_data); void on_shutdown_button_clicked (GtkButton *button, gpointer user_data); void on_help_button_clicked (GtkButton *button, gpointer user_data); void on_credits_button_clicked (GtkButton *button, gpointer user_data); void on_kickban_button_clicked (GtkButton *button, gpointer user_data); void on_kick_button_clicked (GtkButton *button, gpointer user_data); void on_entire_save_button_clicked (GtkButton *button, gpointer user_data); void on_servers_apply_button_clicked (GtkButton *button, gpointer user_data); void on_useradd_button_clicked (GtkButton *button, gpointer user_data); void on_randomize_button_clicked (GtkButton *button, gpointer user_data); void on_info_textview_map (GtkWidget *widget, gpointer user_data); void on_info_window_map (GtkWidget *widget, gpointer user_data); void on_username_rand_button_clicked (GtkButton *button, gpointer user_data); void on_password_rand_button_clicked (GtkButton *button, gpointer user_data); void on_userlist_treeview_row_activated (GtkTreeView *treeview, GtkTreePath *arg1, GtkTreeViewColumn *arg2, gpointer user_data); void on_user_settings_delete_button_clicked (GtkButton *button, gpointer user_data); void on_user_settings_change_button_clicked (GtkButton *button, gpointer user_data); void on_user_settings_close_button_clicked (GtkButton *button, gpointer user_data); void on_user_settings_window_map (GtkWidget *widget, gpointer user_data); void on_restore_button_clicked (GtkButton *button, gpointer user_data); void on_backup_button_clicked (GtkButton *button, gpointer user_data); void on_syntaxcheck_button_clicked (GtkButton *button, gpointer user_data); void on_save_entire_button_clicked (GtkButton *button, gpointer user_data); void on_incoming_checkbutton_toggled (GtkToggleButton *togglebutton, gpointer user_data); void on_useradd_incoming_checkbutton_toggled (GtkToggleButton *togglebutton, gpointer user_data); void on_disc_update_button_clicked (GtkButton *button, gpointer user_data); void on_files_update_button_clicked (GtkButton *button, gpointer user_data); void on_security_update_button_clicked (GtkButton *button, gpointer user_data); void on_files_clear_button_clicked (GtkButton *button, gpointer user_data); void on_files_update_button_clicked (GtkButton *button, gpointer user_data); void on_shutdown_ok_button_clicked (GtkButton *button, gpointer user_data); void on_userdir_select_ok_button_clicked (GtkButton *button, gpointer user_data); void on_userdir_button_clicked (GtkButton *button, gpointer user_data); void on_useradd_incoming_button_clicked (GtkButton *button, gpointer user_data); void on_incoming_directory_ok_button_clicked (GtkButton *button, gpointer user_data); void on_html_button_clicked (GtkButton *button, gpointer user_data); void on_welcome_button_clicked (GtkButton *button, gpointer user_data); void on_yes_default_question_button_clicked (GtkButton *button, gpointer user_data); void on_no_default_question_button_clicked (GtkButton *button, gpointer user_data); void on_tls_generate_certificate_button_clicked (GtkButton *button, gpointer user_data); void on_xfer_scrolledwindow_scroll_child (GtkScrolledWindow *scrolledwindow, GtkScrollType arg1, gboolean arg2, gpointer user_data); gboolean on_xfer_textview_scroll_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_xfer_textview_set_scroll_adjustments (GtkTextView *textview, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data); gboolean on_xfer_scrolledwindow_scroll_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); gboolean on_xfer_scrolledwindow_scroll_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_xfer_scrolledwindow_scroll_child (GtkScrolledWindow *scrolledwindow, GtkScrollType arg1, gboolean arg2, gpointer user_data); void on_xfer_textview_set_scroll_adjustments (GtkTextView *textview, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data); gboolean on_xfer_textview_scroll_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_online_button_clicked (GtkButton *button, gpointer user_data); void on_offline_button_clicked (GtkButton *button, gpointer user_data); void on_change_password_button_clicked (GtkButton *button, gpointer user_data); void on_question_userdel_delete_button_clicked (GtkButton *button, gpointer user_data); void on_gplock_checkbutton_toggled (GtkToggleButton *togglebutton, gpointer user_data); void on_add_systemuser_yes_button_clicked (GtkButton *button, gpointer user_data); void on_add_systemuser_question_window_map (GtkWidget *widget, gpointer user_data); void on_servers_treeview_row_activated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data); void on_add_server_button_clicked (GtkButton *button, gpointer user_data); void on_delete_server_button_clicked (GtkButton *button, gpointer user_data); void on_apply_server_changes_button_clicked (GtkButton *button, gpointer user_data); void on_import_users_button_clicked (GtkButton *button, gpointer user_data); 0707010001dbeb000081a4000000020000000200000001417377e8000690e0000000200000000000000000000000000000001600000000reloc/src/callbacks.oELFp4(.shstrtab.debug_abbrev.debug_info.debug_line.text.bss.data.rodata.debug_frame.debug_pubnames.debug_aranges.debug_str.symtab.strtab.rela.debug_info.rela.debug_line.rela.text.rela.debug_frame.rela.debug_pubnames.rela.debug_aranges.comment% $ > $ > : ; I  I' I  : ; : ; I8 &I < : ; I8  : ; (  : ;: ;I : ;  : ; I 8 I!I/ ' I:; I :;  :; I8  :;  :; I :;  :; :;I8 .? :; ' @ :; I !4:; I"4:; I #4:; I $.? :; ' I@ %!I/&.? :;' I@ ':;I (4:;I )4:;I *4:;I+.? :;' @ ,4:;I-.? :;' I@ .:;I /4:; I? < 04:; I?  14:; I?  i6GNU C 3.4.1callbacks.c/home/shake/gproftpd-8.1.7/srcintlong intsigned charguint8%unsigned charshort intguint16'short unsigned intguint32+Wlong long intlong long unsigned intchardoublegchar) gint,Pgboolean-,gulong1Vlong unsigned intguint2Wgfloat4floatgdouble5gpointerBGArray" _GArray" data(# len)k#GList " L_GList " data &# next 'L# prev (L#X GData"j _GDataGHashTable" _GHashTableGSList" _GSList" data&# next'#]sGType+\HGTypeClass+c '_GTypeClass+c g_type+r#GTypeInstance+e< f_GTypeInstance+e g_class+wf#GObject21{ _GObject 21 g_type_instance2A'# ref_count2Dk# qdata2E#PangoFontDescription9  _PangoFontDescription GdkRectangleCC j_GdkRectangleCC xC,# yC,# C,# C,# GdkColorC^z _GdkColor C^ pixelD# redD# greenD# blueD#GdkColormapC_ K_GdkColormapC_ D)l# sizeD,,# colorsD-# visualD0 # windowing_dataD2#GdkFontCaZ _GdkFont Ca typeO}# ascentO,# descentO,#GdkGCCb 3_GdkGC Cb Jl# clip_x_originJ,# clip_y_originJ,# ts_x_originJ,# ts_y_originJ,# J!#GdkVisualCeD _GdkVisualDCe Y1l# typeY3 /# depthY4,# byte_orderY5# colormap_sizeY6,# bits_per_rgbY7,# red_maskY9# red_shiftY:,#$ red_precY;,#( green_maskY=#, green_shiftY>,#0 green_precY?,#4 blue_maskYA#8 blue_shiftYB,#< blue_precYC,#@ _GdkDrawable Cg Nl#GdkPixmapCiGdkWindowCjCoGDK_LSB_FIRSTGDK_MSB_FIRSTGdkByteOrderCrj3KGdkPixbufL5> _GdkPixbuf-}OGDK_FONT_FONTGDK_FONT_FONTSETGdkFontTypeOQ /YGDK_VISUAL_STATIC_GRAYGDK_VISUAL_GRAYSCALEGDK_VISUAL_STATIC_COLORGDK_VISUAL_PSEUDO_COLORGDK_VISUAL_TRUE_COLORGDK_VISUAL_DIRECT_COLORGdkVisualTypeY! y[GTK_SORT_ASCENDINGGTK_SORT_DESCENDINGGtkSortType[ DGtkObject]u _GtkObject]u _Vl# flags_]# GtkDestroyNotify]wGtkStylea4  v_GtkStylea4 aIl# fgaM# bgaN#H lightaO# darkaP# midaQ# textaR# baseaS# text_aaaT# blackaVj# whiteaWj# aX# aZ,# a[,# fg_gca]# bg_gca^# light_gca_# dark_gca`# mid_gcaa# text_gcab# base_gcac# text_aa_gcad# black_gcae'# white_gcaf'# bg_pixmapah# attach_countal,# depthan,# ao!# private_fontap# private_font_descaq# rc_styleat# stylesav# property_cacheaw# ax#GtkRcStylea7  _GtkRcStyleDa7 b<l# nameb@# bg_pixmap_namebA%# bB#$ color_flagsbD5#( fgbE#< bgbF#x textbG# basebH# bJ,# bK,# rc_propertiesbN# rc_style_listsbQ# bS#engine_specifiedbUk#GtkWidgetaC _GtkWidgetk#@resize_modei?k#@reallocate_redrawsi@k#@has_focus_chainiAk#@GtkBinj0 _GtkBinHj0 containerj5# childj7#DGtkButton0 _GtkButtonX0 bin5}# event_window7#H label_text9#L activate_timeout;k#Pconstructed=k#Tin_button>k#Tbutton_down?k#Trelief@k#Tuse_underlineAk#Tuse_stockBk#TdepressedCk#Tdepress_on_activateDk#TGtkCellEditable! _GtkCellEditableGtkCellRenderer4N L_GtkCellRenderer(4 9 # xalign;x# yalign<x# >,# ?,# xpadA# ypadB#"modeDk#$visibleEk#$is_expanderFk#$is_expandedGk#$cell_background_setHk#$7GtkTreeIter$e _GtkTreeIter$ stamp4,# 5# user_data26# user_data37# GtkTreePath% _GtkTreePathGtkTreeModel' _GtkTreeModelRGtkTreeIterCompareFunc+9?^, GtkListStore%r _GtkListStore@% *l# stamp-,# root.# tail/# sort_list0L# n_columns1,# 2,# order3 y#$ column_headers4#( 5,#, default_sort_func6#0 default_sort_data7#4 default_sort_destroy8 #8columns_dirty9k#<GtkTextIter  _GtkTextIter8 dummy1;# dummy2<# dummy3=,# dummy4>,# dummy5?,# dummy6@,# dummy7A,# dummy8B,# dummy9C# dummy10D#$ dummy11E,#( dummy12F,#, dummy13H,#0 dummy14I#4GtkTextTagTable  O_GtkTextTagTable l# hash# anonymous# anon_count,# buffers#GtkTextBuffer1j C_GtkTextBuffer(1 =l# tag_table?O# btree@# clipboard_contents_buffersB# selection_clipboardsC# log_attr_cacheE# user_action_countGk# modifiedJk#$GtkTextMark;V _GtkTextMark; Gl# segmentI# GtkTextBTree. _GtkTextBTreeGtkTextLogAttrCache0 _GtkTextLogAttrCacheUCa(GTK_TREE_VIEW_COLUMN_GROW_ONLYGTK_TREE_VIEW_COLUMN_AUTOSIZEGTK_TREE_VIEW_COLUMN_FIXEDGtkTreeViewColumnSizing,GtkTreeViewColumn. _GtkTreeViewColumn|. : # tree_view<# =# child># arrow?# alignment@# windowA#$ editable_widgetB1#( xalignCx#, property_changed_signalDk#0 spacingE,#4 column_typeIa#8 requested_widthJ,#< button_requestK,#@ resized_widthL,#D M,#H fixed_widthN,#L min_widthO,#P max_widthP,#T drag_xS,#X drag_yT,#\ titleV#` cell_listWL#d sort_clicked_signalZk#h sort_column_changed_signal[k#l \,#p sort_order] y#tvisible`k#xresizableak#xclickablebk#xdirtyck#xshow_sort_indicatordk#xmaybe_reorderedek#xreorderablefk#xuse_resized_widthgk#xGtkTreeView3 _GtkTreeViewH3 ;# priv=*#DGtkTreeViewPrivate5 _GtkTreeViewPrivate__FILED __FILE _cnt,# _ptr-# _base/# _flag0# _file1# __orientation2W# __ionolock3W# __seekable4W# __filler5W# ssize_tPFILEK6uint8_tNuint16_tOuint32_tPWsa_family_t43in_port_t53s_b1$#s_b2$#s_b3$#s_b4$#s_w13#s_w23#$S_un_byS_un_wS_addrCFin_addrS_un#sockaddr_in-sin_family.S#sin_port/g#sin_addr0$#sin_zero2#  Ton_info_window_mapn h i!"info_textview`"info_text_bufferb#`$ Pn Rh"fp d#^e"xPb#Pg# _#a!  %&!Pn'Rh(fp d)^e(xPb)Pg) _)a*+"password_usermn'lRh'lRi,fpn *o(user_passp`,encrypted_passp+"on_add_systemuser_question_window_map(n'&X''i(add_systemuser_entry)b)*a*+-#1is_bannedPn.userd(fp! c)"a)"`(ret#Pe(i#P[)$^b+$on_add_systemuser_yes_button_clickedn'X'i(fp `)b)`(user_add`(group_adda)h**-&xfer_update:Pn'9h'9i(ftpwho< b(configuration< b)=m*>)?f(xfer_textbuffer@a(total_xfer_entryAi)B)C*D(markE`,mark_nameF(xfer_iterG(xfer_port_bufferI`(bw_bufIc(xfer_bufferI`)Id(xlatezI`(myaddrKF(mastersdLPa(yesLP(portLPl(port_foundLPk)LPg(outgoingLPe(size_portM^a(in_valM^(out_valM^(inxferM^(outxferM^(totalxferM^(utf8_textNh++list_server_values8n'7h'7i(fp: g*;)<l)=h)>d)?`)@\)AX)BT)CP)DL)EH)FD)G@)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X~)Y~)Z~)[~)\~)]~)^~)_~)`~)a~)b~)c~)d~)e~)f~)f~)g~)g~)h~)h~)i~)i~)i~*j*j)j~)k~)k~)k~)l~)l~)mb)ma)m~)mk(gprotls_confme)md)n^l)oh(global_intpPc(xpP`)pPi+,rlist_entiren'X'i(fp c(entire_text_buffer`)d*)b)^b(buffera)h+-list_usersKn'JX'Ji(fpL e)M-f(cellNLa)OR`*P)Qh)Qb)Qi)Qj)Q`)R^d,editS8*TP)TPg)Uc*V*V*V*V*V*V^+.on_servers_treeview_row_activatedn'0h'.column'k)R`) a)R\)RT)RX+/list_serversn'X'i(fp c)j*)-b(cellLa)R`)`****)a)`)^f,edit 8)!Pd)!Pl)"h+1clist_discn'X'i(fp m)`)-h)R`(cellLb******)a(buf1c{(mount1t{(free1{(used1{(total1{(percent1{(device1tz1t %1 %1 %+2list_secure .n' -h' -i(fp / a* 0(security_successful_textview 1g(security_refused_textview 2i(sizebuffer 3^b(s_buf 4`(get_s_buf 5h) 6d(security_text_buffer 7c+4tlist_files n' X' i(fp g) j* ) -f(cell La) R`) `* * * * * * ) a) b) ^m,edit 8(begin Pc(end Ph(i PX(count P\) Pd) Pi,max_line_len P,max_username_len P) `+5on_yes_default_question_button_clicked n' X' i(fp j* ) l(default_buffer i+5{on_no_default_question_button_clicked n' X' i* +:on_gproftpd_window_map n' h' i(fp b(gproftpd_window `* ) i) g* * ) a* * * ) k(proftpd_version_label `(gproftpd_version_label `) d(shell_combo g) e) f(tls_hbox1 _(tls_hbox2 _(tls_hbox3 _(tls_hbox4 _(tls_hbox5 _(tls_hbox6 _(tls_label1 _(tls_label2 _(tls_label3 _(tls_hseparator1 _(tls_hseparator2 _(main_window_pixbuf Kb(pixmap_cell L`) b) c) e) f) g) m) b) c) d) e) f) a) b) c) e) f) g) m) c) d) e) f(versionbuffer c) a(buffer a) d(shell `) `(tempo _(user_model -_(disc_model -i(files_model -_(servers_model -b(cell L`) ^c(items Le) j(found_conf P_(found_shell P_+;8on_online_button_clicked Hn' Fh' Gi(start I1t+;on_offline_button_clicked Yn' Wh' Xi+;on_reread_button_clicked d^' bX' cY+Z&n   h   74u~4n;%pLAS{$p$BR,{i+i$p 0)k1c      uT@  ~|~A"!}*  ~m #p0Fu|{|@}Plof,~ }"~!s!s!s!s!s!s!s!s{ %  % % % % % % :W uun"F t p#3f.f-j`SlDPD,q#q t: V`F+~q+(q#q#  [ A[MIGASDSAS%o"uSA~@%Md E%^%oiuq#s!d6 1q#q!s!q# 9^6^ ^6,#aRjN)p$o#  ~~ t !t              "~T=11&~;mU rA"PDPD $     &n$ $}K)$p8  ~.pB* q#2^ X   <uUE!s!2j*j"r"% H\8\"r"#~~, t q#q#AS5f.f"r"!)b||JW!!~I}R}bf t "r o`~5i #h/" KPDP>V,uc1c&nA~     vUa3a3a.~k*E   ")k/ ?U?Y;1c* o$~~~"r"~$O[~ ~~~: ~U&n   "r     $X F1c1 ~.j*j&~~~~~O}  }%o~~~~ :v n}}}~ {~#q <[ep$  n, !'q#pu )u@Pj/ &t=(  'q#pu6)!g\ CRf^!&n  ! n% o,  o,)~ ~! s j#l !*j( XASASASASASu~ICT"r"&q$p!s! z>~{bO~ y ||%o%i+}}}y&n&|}}& } s }!s!b|}|%3l} !su|} }3z }!sV%}|\ }M }+g|R&AO|J<V }}}_ }}} }}}a U}| }} }}}} }} }} ~ | }~~~}} } k} ~}} ~ ~b}~}~ u} ~~~~l}~~~      Q_|~ : c|     /}~%o'}~   Xf }~}}~ }~/}%o'}}|}}} 㿐@#@@`@@`@@@@`   @`@@ ,`@?cc`/ /@- @   @ @@@ @@ ( L@` @+`8``?` `? L@` @+`8``:@(p@ "׮  @@@ @ L @ @@@ @?c@ 0 L@` @+`8``?` `? L@` @+`8``:@(p@  @@"Ϯ  @@@/#`@`!@ @  / * e*  t c* *  p a* *  s w d* * * * * * `@`@@ @?cc`/ /@- @   @ @@@ @@ ( L@` @+`8``?` `? L@` @+`8``:@(p@ "׮  @@@ @ L @ @@@ @?c@ 0 L@` @+`8``?` `? L@` @+`8``:@(p@  @@"Ϯ  @@@.#`@`!@ @  / * e*  c*  t g* *  r o* *  u p* * * * `@`@@ @㿐@! #` @@``@ @`@@@ @@  `@ "@@@ `@ @ @@0@㿐@@@`@ @ n b,,  d y o, , , , , @   @@@@@`@㿐 @`  I  @ @@@ @@ @1@ &@  @L`  (`8`` `?` `? 2, L ` @ ِ @@@㿐@@@`@ @ n b,, o d y,,,,,@ 5@ @#` ``@@` }@`@@@`@ `@ @@@ @ n b,,  o d y, , , , , @ +@ @'`@@` G@@@`@ @ @@@ '@@`@ 3@   @ @ @@@`@ @ @@@0'`@ @ @@@0!`@ `@ `@ @@@ ''@'@@`@@`@@`@@`@@`'@@`'5 @     ''' @ @@@  @@  @ 1)@ 5@ @ @ `@@J?` ` "*?@ ڐ@ Ր@ # ϐ@ ʐ @@@J?c@ @`2T`@ @@   @@@@@@@@@@@ @ @@@`;``  @#\@@ @0*? @ @-@@ 75'9?c@ ,@#@` @ `@ ``@ ت`?c@ ت @@@$ @$` `@@   @@@@``@@   @@@@ `@@   @@@@@ ` ` ``## `` @ 2zx @ |@ v@  ǐ`l@'f'@ S@ N@  `D@'>'  @ ?U?c @ ?n   7??7'@$ $@@ ?"_`@ @@   @@@@@#`@w?    @ @@@U `@ @ 0N@ [?# `@`!@ `@`@ `@`@ @@F@ 9?`@ @@   @@@@@ "@W@9 㾨@ @@`'D@@`'@@@`'<@@`'8@@`'4@@`'0@@`',@@`'(@@`'$@@`' @@`@@`@@`'@@`'@@`'@@`'@@`' @@`'@@`'@@`'@@`'@@`'ܐ@@`'ؐ@@`'Ԑ@@`'А@@`'̐@@`'Ȑ@@`'Đ@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'|@@`'x@@`'@@`'t@@`'p@@`'l@@`'h@@`'d@@`'`@@`'\@@`'X@@`'T@@`'P@@`'L@@`'H`@   @ @@@ @@ @!@   @'@$ $@5@` `@!@  @ `@@ " -;@ " '@c@@` `@ 2' @ `E@ `!'@ @ 2/ @ 2Ő@ @ `@`@ @@@@@@@@`@ 4L@`  @(`8``" L@` @ L@`@L`  (`8``"", L` @   @@@@`@ ` @@J?` ` "*?@   @@@@`@ UL@`  @(`8``" L@` @ L@`i@L`  (`8``" `?` `? 2, L` @   @@@@! @  @@@   @@@@`@ >`,@@  #J?` C` "*?@   @@@@ #@ ``@@@   @@@@`@ `@ 4 @@@   @@@@`@ !L``  @ (`,@@J?` u` "t*?@ t`,@@J?` J` "I*?@ I`@ `,@@J?` _` "^*?@ ^`@ `,@@J?` _` "^*?@ ^`@ (`@@J?` ^` \! @ ^ @@@   @@@@`@ (`@@J?` <` :! @ < @@@   @@@@`@ `,@@J?` ` "*?@ `@ `,@@J?` ` "*?@ `@ `@ `@@@   @@@@`@ `@  @@@   @@@@`@ "! @  @@@   @@@@`@ L`` "В``@ L`` "``@ 4`@@   @@@@`@! @  @@@   @@@@`@ 4`@@   @@@@`@! @ c @@@   @@@@`@ "! @ ; @@@   @@@@`@ `@ `@@@   @@@@`@ `,@@J?` 〠` "*?@ `@ `,@@J?` ဠ` "*?@ `@ "! @  @@@   @@@@`@ ` @@J?` ,` "*?@   @@@t@`@ `@@J?` ` "*?@ `@ `@@J?` ` "*?@ `@ "! @ C @@@   @@@h@`@ &`@@J?` ` "*?@   @@@d@@ @T@`@ &`@@J?` ` "*?@   @@@`@@ @P@`@ "`@@J?` i` "*?@   @@@\@@L@`@ "`@@J?` D` "*?@   @@@X@@H@'``@ "! @ ͒ @@@   @@@D@`@ C@` `@@!@  @@!@  @@`@  `@@@   @@@@@`@ "! @ f @@@   @@@<@`@ ` @@J?` €` "*?@   @@@8@`@ `@@J?` ` "*?@   @@@0@`@ `@@J?` |` "*?@   @@@4@`@ }`@ `@@@@@`@ @>@ '*?I*?r*?*?*?*?@ "@@@' ? @ *?! @  `*?! @ Ȓ Œ`*?@ "@@@' ? @ *?@ "@@@' ? @ *?@ "#@@@|' ? @ *?@ "%@@@x' ? @ *?@ i@@@p' ? @ V `*?@ i@@@l' ? @ V `*?@ "@@@' ? @ *?@ "@@@' ? @ *?@ "@@@' ? @ v*?@CL@L@ B `@@J?` ` "*?@ "0 @@@' ? @  *?*?B*?a*?`@ ``@ @@`@ `@ |0q N``͒```!`ƒ`` b`@@J?` :` "*?@   @@@@@@J?` ` "*?@   @@@@4` *?*?`@!`@P`@  @ `@@   @ @@@ @@ @@ `@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ L@` @K`=  L@`@`@ E L@`A@K`=   L@`_*?L@@@@*?@   @@@,@Р L@@@@*?@   @@@(@͠ L@@@@*?@@@$' ? @  L@@@@*?@@@ ' ? @  L@@@@*?@   @@@@ L@@@@*?@   @@@@ L@@@@*?@   @@@@ L@@@@*?@   @@@@ L@@@@*?@   @@@ @ @@@@0H㿐@+@@``@` ] @ @@@ @@@  c@@,@@ @   @@@@@@@@@@`@ `@ @@@@@x@!@@` @$ #\ @ @ @ @ @@ @@ @@@@;``@!   @`@`   @`@`   @`@`   @`@`   @`@`  @ @!`@    @ @@@# @@ @@` `@@`` @97 @ }`@`@ @ @  @ !@ 4 @ (`@ ) !`@ /@@*?@   @@@@@@ @??`@`@@   @@@ @?@`@ @@   @@@ @?`@ @ `@ `@ S`@ `@ `@ @@ @`@ 2`@`@@@  :@ 4@ !@  *@ $@@   @@@?@ @ @@ "O`@`@@   @@@ @?@u@@   @@@ @?k`@ @@@@@@@0`@`@@ @ 0`@p'H@'L@@@@H@LH@ @? @? @?@c@@؀J@` H@`  H@`  @0  @ @ @ ! @  @ 㿀@;@@` @ @ @ @@ @@@@@@!`@`   @`@`   @`@`   @`@`  @ @7`@    @ @@@  @@ @ @@@    @ @@ @?@ . `@ &`@ ! ,@c@ր 2`@`@ @ @@  @@ `@  @ @@` @@*?@   @@@ @?    @ @@ @?`@ `@ `@ ` @@*?@   @@@ @?`@ `@@*?@   @@@ @?@ y@@@ @@ @@@ @ @0`@`@ @@0`@ `@ Ē``@ `@ /@ r)    @ @@ @?@ `@@*?@   @@@ @?@ ` @@*?@   @@@ ڐ`@ 2`@@*?@   @@@ @?@ 2z`@ 2~/`@@*?@ @   @@@ @?    @ @@ @?N/@@*?@   @@@ @?'?cx?c `?,  @?c%, @`?c, #@?c, #@`?c, #@ ?c, #@?c, @@#@@` @#\ @ @ @ @ @@ @@@@@@!@`@`   @`@`   @`@`   @`@`   @`@`   @`@`  @ !`@  @~`#\#`@@@@@   @@@ @?@   @@@ @?@   @@@ @?@   @@@ @?@   @@@ @?@   @@@ @??c@ ~@@` @0 @ 㿐-;@` "@@@`@@`  @@@@ @ @ @c@ '@ @ǐ@ @@ @@@@   @@@@`@ ے @@ c@'597/+@ <@ @@ @@ @@ @@ @@` ʒ@@ 2ɐ@@@@   @@@@ @@@`@ `@ @@@ `@ `@ @@@0I`@ @ @@@@@ `@ `@ @@0 `@ @ @@@@@  @@@ x@9@@` @#`#\ @ @ @ @ @@ @@@@@@!`@    @`@    @`@    @`@    @`@    @`@   @ @`@`       @ @@@ g @@( 3 @(@ @ (@@@`2L@@$,L@`  @(`8``/" L@` @@? @(`` "8`` @ "? @(``8` @(&&$4?@@@J?`2*?   @@@?@ L@`   @   L@` @(`8`` @K``     $ *`   @  L@` @(`8`` @K``     @ @(`` 8`` ?@  @(``8` @(&&$4?@@J?`2*?   @@@?@ L@`   @  L@` @(`8`` @K``     @ @(``" 8`` @  @(``8` @(&&$4?@@J?`2*?   @@@?@ @? @(``   8`` @ "? @(``8` @(``" 8`` @  @(``8` @(&& (4?@@@J?`2*?   @@@?@ @? @(``  8`` @ " ? @(``8` (@@@@J?`2*? i@ k`@ @@   @@@ @?@ F @@@ @@ @@@ @ @0K`` @ 2U?XK`` " ŰK`` " K`` @ 2C?FK`` "M PK`` @ 2?  o@ `@ d `  @@@ @?Z @`@ @ @@@0+@? @(`` `@ !`@ `@ @ @ @L@`@ @ @@㿈@%@@`'`@ ,!@ @` `@`@@ U.@@ k*  m*  a*  0  s  2* * * * * * * `@`@`@`@`@`@@ P.@@ 1*  t*  o r * * * * * * `@`@@ T.@@ i*  m*  M*  T*  f* *   e G* * * * * * * `@`@`@`@`@@.@@* * * * * @ n.@@ d b y* * * * * * @ .@@ u p* * * * * * * @ n.@@ y* * * * * * `@@ n.@@ y* * * * * * `@@ n.@ y@* * * * * * `@`@`@`@`@`@`@`@`@@ S.@@ y*  t*  L g m* * * * * * * * @ /.@@ v a* * * * * * * * @.@@ l*  c*  * * * * * * * * * * `@`@`@`@@.@@ t* * * * * @ f.@@ t*  * * * `@`@@.@ a@* * * * * * * * `@`@`@`@`@`@`@@ T.@@ S* * * * * * * @.@@ a* * * * * * * * `@`@@.@@ c*  t*  f*  t* * * * * * * * * * `@@ <.@@ I*  f*  M*  l*   >* * * * * * * * `@@.@@ D*  n*  y*  A*  * * * * * * @.@@ m*  i*  t*  *  i* * * * * @@@! @  @  @  @ @`@ @ @@@`@ `@ `@ @@㿐! @  @  @ @@@`@H?c `c// @@%@@`@@`@@`@@` `@@'$@!@ )% @@`@@`@@$@@ !% `@ @    @ @@@@@ \`Y l8`@   @@@@ @@@`?c@#@@@`?c@ @@@`?c@#@@@`?c@ @@@`?cܚ@#@@@`?c؂@ @@@`?cԚ@#@@@`?cЂ@ @@@`?c̚@#@@@`?cȂ@ @@@`?cĚ@@#@@  @`@@`@@@@`@ ??cc@@ #@- @ @ @@@ @?c @`#@a!@   @ ?c@#@@@@ @ n b,,  o d y, , , , , @ @@ @ @` @@ @ L`@`@`@@   @@?c@#@@@@`@@@@ @ @ @ @@ @@@@@@#`@`` @ `@`` @ `@`` @ `@``  @@@@@@@@@@@@@ @@@@@@@@@@ @ @ @ @#\ @@ ?c@@#@@`?c@@@@@`@`` @ `@`` @ `@`` @ `@`` @ `@`` @ `@``  @?c@@@@@`@@@@@`@@@@@`@@@@@`@@@@@`@@@@@`@@@ @ @ @ @#\#` @@ ?c@@#@@?c@@@@@`@`` @ `@`` @ `@`` @ `@`` @ `@`` @ `@``  @?c@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @ @ @#\@ @@@@@@`@`` @ `@`` @ `@`` @ `@`` @ `@`` @ `@``  @@@@@@@@@@@@@@@@@@@@@@@@@@@-@@@@?c@@@@`@`  @ @@@ @@ @#    @` @;@  /&@  #@ `Ӑ`@  #@ ?c @#@@  /ސ@@@@@@?c@@``@ @   @  @@ @` @@+@@`@@`@@`@@`@@``@# @` }!?@# @#'#@ @ #! $ @@ `f??c@@`J@ @ `@ `@ ?c@@@@?c@@@`@ `@ `@ c@0_@@0@ `*@@   @@@@@@@`?! $  `2??c@@@?c@@@?c@@@?c@@@?cܚ@@@?c؂@@@?cԚ@@@?cЂ@@@?c̚@@@?cȂ@@@?cĚ@@@g?`@`!@ @  / * s e t c p f u r* * * * * * * * * * * * * `@`@`@`@`@`@@@?c] c` ' / @, a*  w d* * * * * * * * * * `@@,* * * * * * * * * * * * * @0`@`` @ @@`@ 2x`@`` @ @@r`@``@``@ @@ @@ `@`@@@   @@@@`@@@@0@ `@ @ @@@0i!?c%?@` ,@@ H`-b $@4 , @ /, e*  h*  c m* *  t s u g* * * * * * * * @``` XȘ#f` $ @<@ `㿐`` @  ``` `㿐@@㿐@@㿐@@㿐@@@`@@`@@`@@@@@@@?cp?c `c/ /@?-/ @ @ @@`@@`@@`@@`@@`@@`@@@ @@@@@@@@ @@@ ` Ђ`` `+`8``r"JM@ < "`@ @ @@0@ > 2@@@?c@@ @ `@@?@" Ғ`@@?c@@ @ !’``o2M`o2M`t2 `@ ?" @ @ ?c܂@ @ @ @` ?`@?ܖ`@`@  @ @@@ @@@  U, s e,, r ,,,@@ ,* @` " @ @@@ /`@ /`/?c@@@ 3@ ڐ@`j@?c܂@ @@  @ "c@# 3@` (@ !@@ `@ "!`@ `ڐ@ @@@?`@ S?@ ?@  !`@ #@``@ @`@@?c@@@?ܖ@0@ @@@ ?c@@@@@@?@`@@@  n o,,, y m,, o u,,    < A s, , ,,,, @@ >,* * @ U, s e* *  r * * * @@, G*  r o* *  p u * * * * @@,* `@`@`@`@`@`@`@`@@, / L* *  i m* * *  t >* * * * `@@ , l o w* * * * * * * * * * @, / L* *  i m* * *  t >* * * * `@@ , D e* *  n y* * * * * * * @, / L* *  i m* * *  t >* * * @* @@ @, / n* *  y m* *  o u* *  s >* *  n o* * * * * @@`@ d `@ 6 @ @@@ @!@@@ @ @@`@ M`2?c@@@ 93ݔ@ א@m@ @?c܂@ @@ " @`ހ `@ `?@`@ 2 @@ - A*  o w* *  U s* *  l e r* * * * * * * @@ -*  !@ Ð@@ @ `@ `@ @@@@?@?c܂@@@0#`@`!@ `@ `@`@ @@??c@`@@?c@`@@ ?`@ @ ?c?c@@#\` @@ "N@ 0c'`@@?c@`@@@ "@ ?H -<@@0X@, D*  i r* *  e t* *  o r* *  y  c* * * * @@@ /, **  >* * * `@`@@ , w o* * * * * * * * * * @, / L* *  i m* * *  t >* * * * `@@ , D e* *  n y* * * * * * * @, L /* *  i m* * *  t >* * * * @, D*  i e* *  r t* * *  / o* *  y >* * * * * @, / n* *  y m* *  o u* *  s >* *  n o* * * * * @@@`0@ `@ #`@`!@ @ `@`@ @@?#`@`!@ `@ `@`@ @@?@?c܂@@@@09 `@ @ @@@@V?`@ @ @@@@?c@@@?ܖ`@ #@``@ @`@@@@?c@@@?ܖ@@0`@ @ @@@@`@ `@ @@@@?@?c܂@@@p@@?c@@@?ܖ@@`@` [@@@L?@@@@@`@@`@@`@@@@?c@@@@@@`@@`@@ @ ``E@ 0Ac@@@0#`@`!@ @ `@`@ @@@0 @ `@ #`@`!@ @ `@`@ @@0㿐@@@`@@`@@@@ @@'@  u, s r, ,  e d l, , , , , @ ,* @@` %@@@@ `@@`@@@@0㿀@ @@`'@@`@@@@` 'N@`r"N``@` # @ @@@@  s e  U r/`/`/`/@/`/`@@ /@@* @@  A. l o w. . . . . . . . . . @@.* @ @@ @@ @'!@   @'@   @79@ `@`@@ " @  @ ml@䀢 e@`!#@ @ @@` 2Ԑ@ ̐@ `@ `@ @@@@@@@@@@`o%N``o!N``t 2`@ @ @@@)@ ]@ @ `@ (@`@`!@ `@ `@`@ @@@)2)#`@`!@ `@`@ @@@@@@@~`@@@@@@@@`@` ]@@@@@@@@`@@`@@@@@! @  @ ``6102@!#@` @ @@  @  '`25@01 @`@ 㿐@ @@ @@ @`@@   @@@@`@@@K`` `@c?(O`@ /- u p- -  l o- -  a d- - - @   @@@@`@@@@@   @@@`@@@@@ `@@`0㿐@@ `@@   @@@@@`@@@ `@@@!@@`@$ @ @ @@ @ؠ@ Ԙ?@@ @@@`@@`'В@@`'̒@@`@@`'Ȓ@@`@@`'Ē@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'x@@`'@@`'@@`'|@@`'t@@`'@@`'p`@` n'l @ @@@ @@ @@ @@$ $@@ @@ @@@ @@ @+`@!`@ >`@`@`@ " @ "  @ P!" @ `#@ @@c@-@ ` @ `Aْ@@@@@@l`@@@  @0@  @ @  @@l @ `@ @  (@   @@@@+`@@   @@В@ @ `@ `@@   @@@@`@ ,`@@$ $@`@ ``@ @@   @@@@@`@  L@` @T(`8``"Q L@ ` @ `@ !@ `@ @   *@* @0K`@@@@ 2 @#`@`!`@ `@`@ @@ `@ `@ @@@@@@@0@   @@@@`@@   @@@`@ &@M` "  L?`m`d`M `@*?@   @@@@`@ &@M` "  L?`y`d`M `@*?@   @@@@`@ "`@ `@ " @@@ `@ `@ " @@@ `@ " @@@ `@ " @@@ `@ `@ " @@@ `@ " @@@ `@ `@ " @@@ `@ `@ " @@@ `@ " @@@ `@ " @@@ `@  L@` @(`8``@ K`K``K``"K``{`S"gI L@ ` @ 2L@ `D2L@ @@@ `@ " @@|@ `@ " @@x@ `@ `@ " @@t@ `@ `@ " @@p@ `@  'l`@ 02 T `E` 2L@ @@@ `@ " @@@ `@  L@` @(`@ 8``} K`zK``v`P"gWL@ ` @  L@ `@ M`  (`8``""-  M ` @M(?c `c// @@ @@`?c@ @@@`@@`@@`?c@ @@@`@@`@@`?c؂@ @@@`?cԂ@ @@@`?c@ @@@`?c@ @@@`?c܂@ @@@`@@`?cЂ@ @@@`?ĉ@ @@@`?cȂ@ @@@`?cĂ@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@ @@@`?c@@ @@@@?``@ @ @@0@@@@@@@ @@@ @@0?c\٢ car' 7 @@ ,@!@,`@   @@   @#+`@` $`@`@`@`  @ @@@ @!@ @%0@ @`@` @  @@ !`@ J`@ @ ,* @ A@ ?c@@  `@ "@@ @ @ Œ@ ! `Ґ@ 2@@@@@`M`e@@-`@ v@@@@@ @@?cԒ@@@@ @ "h@@@@! @  @ ?c@@@``{@ 0w@ M@ @ D@ B@@@ #@`@ @ @@?@ (@`@ 2A@ <, y*  u*  n*  o*  n*  m o* *   s* * * * @@ >, ?* * c@@ @ '`@ !@ G, u*  r*  p o* * * @* ?c@@@@@@ ,* ! @ "ΐ@?cؒ@@@@ 2@ #, g*  l*  k*  p o* *  s c* * *  t a * * * * * @@ @ /`@  @ @@%0@ @@ @@ @+@ `Ȑ@@ @@@``@ @ @@@@0E`@@0`@`!@ `@`@ 0 @` @ @@ @0@  @?c@@@ Z@ o, n*  * '* `@ !!`@ "a@ M, a*  l*  e*  x C* *  i n* *  t s* * * @* ?c@@@@ "@@,?c@* * @@@@@, * * @ o, f* *  * * @@@@ @@@0`@ 3@, w*  m*  l f r o* * * * * * * * * @* ?c܂@@@@J`D@ n, e*  n*  * * * `@ M`2`@  `@@?cЂ@@@@ ?@, L*  I*  S*  T*  N*  L*  S*  T* * * * ?ĉ@@@@ ?@, S*  T*  O*  R*  S*  T*  O*  U* * * * ?cȂ@@@@ ?@, P* *  E* * * * ?cĂ@@@@ ?@, R*  E*  T*  R* * * ?c@@@@ ?@, F*  R*  N*  R* *  N*  T*  O* * * * ?c@@@@ ?@, D*  E*  L*  E* * * ?c@@@@ ?@, M*  K*  D*  X*  M*  K*  D* * * * ?c@@@@ ?@, R*  M*  D*  X*  R*  M*  D* * * * ?c@@@@ ?@, _*  S*  I*  T*  E*  C*  M*  O*  H D* * * * ?c@@@@ ?@, _*  G*  S*  I*  T*  E*  C*  R*  H P* * * * ?c@@@@ ?@, S*  T* * * * * ?c@@@@ ?@, M*  D*  T*  M* * * ?c@@@@ ?@, P*  W*  D*  X*  P*  W*  D* * * * ?c@@@@ ?@, Z*  S*  I*  E* * * ?c@@@@ ?@, C*  W*  D*  X*  C*  W*  D* * * * ?c@@@@ ?@, C*  D*  U*  P*  X*  C*  U*  P* * * * ?c@@@@ @, S*  I*  T*  E* * * @ >,`@ `@@?cЂ@@@@ ?@, L*  I*  S*  T*  N*  L*  S*  T* * * * ?ĉ@@@@ ?@, S*  T*  O*  R*  S*  T*  O*  U* * * * ?cȂ@@@@ ?@, P* *  E* * * * ?cĂ@@@@ ?@, R*  E*  T*  R* * * ?c@@@@ ?@, F*  R*  N*  R* *  N*  T*  O* * * * ?c@@@@ ?@, D*  E*  L*  E* * * ?c@@@@ ?@, M*  K*  D*  X*  M*  K*  D* * * * ?c@@@@ ?@, R*  M*  D*  X*  R*  M*  D* * * * ?c@@@@ ?@, _*  S*  I*  T*  E*  C*  M*  O*  H D* * * * ?c@@@@ ?@, _*  G*  S*  I*  T*  E*  C*  R*  H P* * * * ?c@@@@ ?@, S*  T* * * * * ?c@@@@ ?@, M*  D*  T*  M* * * ?c@@@@ ?@, P*  W*  D*  X*  P*  W*  D* * * * ?c@@@@ ?@, Z*  S*  I*  E* * * ?c@@@@ ?@, C*  W*  D*  X*  C*  W*  D* * * * ?c@@@@ ?@, C*  D*  U*  P*  X*  C*  U*  P* * * * ?c@@@@ @, S*  I*  T*  E* * * @ >@ [!@ 2V @Q @@F @ <, i*  c*  y*  D*  r*  e o* *  t r* * * * @@ >?c? `+  @ `@@@@@`@@`@ @ @ @ ?c? `+  @ `@@?c? `+  @ `@@` ")@@ @@ 2#`@`!@ @ `@`@ @@0@ ["t`e8` ٝ`o r`p:`:`@@ @)@@ @@@@@#`@` %@@@@`@@ @ @ @ @ @0`@ `@ @@`` 㿐`@  @`@`` `` 㿐@ @@`@@@ ``J` `@ @ @@ @` j@!?@ @@ @@## @!c@  -.@,@@K` ` @ @ ߐ@ ےc  @+ @  @@@&"@ @`@@@@``@ @ @@@@ @`ߔ㿐@ @@`@@@ J``   @ @ @@@ @@ @``,@ v!`@ @@ @@ @ @ @p@2@`@  @` @!?@## @!#@  -,@.@@K` ` @ @ ߐ@ ے#  @+ @  @@@ "!@ @@ `@ @ @@0#`@`!@ `@`@ @ @@`@@ @`@@@d @ 2#@ P`@ @ 0``@`!@ `@`@ @@@03`@  @ @@@0%㿐@@@`@@`@@`@@`@@`@@@@@@@ -@@ @@  f, s,  p u, ,  t h l, , , , , , , , @@, d* * * * @@,* @@, "* * @@,* `@@@@㿐@@㿐@@ @@@`@@@@@K` %` "@K`/"@   @@@`@@ @@@+K`/+㿐@@㿐@ @@ @@@@`@@@@@J?` 9` "8*?@J?`/"*?@? (`` 8``//? (``8`@   @@@`@@@`@@@*?@J?`/*?@ /0?ԂcP#?`cc/ /@?Ԃc@+'+@`? @ '@,@@`@@@c [!h` ot??/@@`  @@@@ @@  *(`@@0!`@ @`@ @0?ԂcP#?`cc/ /@?Ԃc@+'+@`? @ '@,@@`@@@c "oatawc?7 '@@ , c -* * * * `@@, x* * * * `@@`  @@@@ @@  *(`@@0!`@ @`@ @0X`@?@@`'@@`'ܒ@@`'ؒ@@`'̒@@`'Ԓ@@`'В@@`'Ȓ@@`'Ē@@`@@`@@`@@`@'@@@@@@@@@@@@'@@@@@@@@@@`@`@`N@`N`2N@@`M@`M`K@`N`O`O@`M`M`@@@0@@ @ @'@ @' c(` g(` r(` o(` f(`  p / t e d(`(` (` (@(`(`(`(` (` @(@@ m* *  d+` +` g r* *  o f* *  d .* * * * * * *  c+` g+` r+` o+` f+`+` +` +@+`+`+` +` @+@@ g*  l*  r .* *  s o* *  c n* *  f o* * * * * `@젒 "`@?@@0@@   @   @ @@   @ @@   ,@   @   @ @@   @   @ @  @ @  @ @  @ @  @ @  @ @  @ @@   @   @ @@ @`@?@@0@@  h+` m(`  0 o c d 6+`+` +`+`+`+@+`+`+` @ /(@@ t p g r f e* * * * * * * * * * * * * @+@@ l*  .*  s n* * * * * * * * * * * `@`@?@`@`@@@0@@  `@@ /+@@ t p o c g r e f d* * * * * * * * * * * * * `@@(@@ f d* * * * * * * * * * * * * `@@+@@ d f* * * * * * * * * * * * * @(@@ l*  s .* *  f n* * * * * * * * * * `@`@?@@`@@0@@  `@@ /+@@ t p f d e c g r o* * * * * * * * * * * * * `@@(@@ f d* * * * * * * * * * * * * `@@@``@?@@0@@  `@@ /+@@ p t e f d c g r o* * * * * * * * * * * * * `@@(@@ f d* * * * * * * * * * * * * @+@@ d*  u*  m .* *  k y* * * * * `@`@?@@0@@  `@@ /(@@ t p e c g r o f d* * * * * * * * * * * * * `@@+@@ f d* * * * * * * * * * * * * `@@(@@ f d* * * * * * * * * * * * * `@@@``@?@@0@@  `@@ /(@@ t p o c g r e f d* * * * * * * * * * * * * `@@+@@ f d* * * * * * * * * * * * * `@@(@@ d f* * * * * * * * * * * * * @+@@ l*  .*  n*  s f* * * * * * * * * * `@`@?@@0@@  a(` t c (@(`(`(`@ /(@@ e g* *  r o* *  p f d* * * * * * * * * `@@+@@ e g* *  r o* *  f d* * * * * * * * * @(@@ g r* *  o f* *  m . d e* * * * * * * * * `@ a+` +@+`+`+`@+@@ e g* *  r o* *  f d* * * * * * * * * `@@(@@ e g* *  r o* *  f d* * * * * * * * * @+@@ g r* *  o f* *  d e* * * * * * * * * `@ h+` 6(` (`  o(` d(` 0 (`(`(@(`(`(` @(@@ e g* *  r o* *  f d* * * * * * * * * @+@@ g r* *  o f* *  e d* * * * * * * * * `@`@?@@0@@  m(` (` -(` f(` r (@(`(`@ /(@@ e*  c o* *  p t g f d* * * * * * * * * * @(@@ u d* *  m k* *  . e y* * * * * `@ m(` (` -(` f(` (@(`(`@(@@ e*  c o* *  f d* * * * * * * * * * `@`@ m(` (` -(` f(` (@(`(`@(@@ e*  c o* *  f d* * * * * * * * * * @(@@ s*  c e* * * * * * * * `@ m+` +` -+` f+` +@+`+`@+@@ e*  c o* *  f d* * * * * * * * * * @+@@ k y* *  o f* *  d e* * * * * * * * `@ m(` -(` (`(` f(@(`(`@(@@ e*  c o* *  f d* * * * * * * * * * @(@@ o*  f d* *  e c* * * * * * * * * * `@`@?@@0@@ @耢 )`@`@``@`@``@`@`@@0@ @@`@`@`0㿐%`@ !@  @ `@@ P. 6*  o 5  3 t  r* * * * * * * * * * `@`@`@`@`@`@@ U. k*  m*  2 0 s a* * * * * * * * @ T. i*  m*  e*  M f G* * * * * * * * * * `@`@`@`@@. e* * * * * @ n. d y b* * * * * * @.* @. u p* * * * * * @ n.* * * * * * @.* `@@ n.* * * * * * @.* `@@ n.* * * * * * @.* `@`@`@`@`@`@`@`@`@`@`@`@`@@. g L S* * * * * * * @ /. v*  a* * * * * * * `@`@@. c*  e*  t* * `@@ <. I*  M*  l e >* * * * * * * * * * `@@. D*  e*  n*  A* * * * * * * @. m*  i*  t*  i* * * * * * `@@ @@ @@@! @  @  @ @ `@ @ @@`@ `@ `@ @@p!@   @@   @5;@` 'D  ``@``@@` " M@`mM`k``@` A @ @@@ @@ @@ @@ `@   @ `B@@ `@@@@@`#`@`!@ `@`@ @@@0#`@ @ @@@@`@ 6@O@@` ,@ 9  `@ 9@/@@  @ ɐh 9 @ #`@`!@ `@`@ 0`@ `@ @@@@@@@@0`@` j@@@@@D@`@@@  @@@@@@ @? @? @?J@` H@`  H@`+ @0C#`@`!@ `@ `@`@ @@0* @`@Ӑ@``@@@! @  @  @  @ ``@ X@@@`'@@`'ܒ@@`'ؒ@@`'Ԓ@@`'В@@`'̒@@`'Ȓ@@`'Ē@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'@@`'|@@`'x@@`'t@@`'p@@`'l@@`'h@@`'d@@`'`@@`'\@@`'X@@`'T@@`'P@@`'L@@`'H@@`'D@@`'<@@`'@@@`'8@@`'4@@`'0@@`',@@`'(@@`'$@@`' @@`@@`@@`@@`@@`'@@`'@@`@@`@@`@@`@@`@@`@@`@@`@@`@@@'@@@@'@@' @@'@@'@@'@@@@'@@'@@@@@@'Ԓ@@'ؒ@@'@@@\@@X@@T@@L@'@H@'@D@'@<@@@@'@8@@P@@4@@0@'@,@'ܒ@(@@$@'В@ @'̒@@@@@@@@@@@@'Ȓ@@@@@@@@'Ē@@'@@!'@   @@   @`@` ''`@`@M`2 O@`@` `O@``@ @ @@@@`@`  @ @@!@@ @@ @@ @@ @@ @'`@` j`@`c@ #s@`@ @@ @ @ D`@ @@ # '@`  @ 2耠`J@ "א@Ґ#`@`!@ `@ `@`@ @@@@@@@@䀠`#`@`!@ `@`@ @@@`@@ P- o r* *  t * * *  @@ -* ' T@ p`@ "`@@`@ @ '@@ Ր`@ @ ``@Ӑ`@ `@ D`@ L`@`@ `@ @@@@@@@@@@@`@` #@@@@! @  @  @ ``10@` L ` `@ `@_c@ ' T@ O@8`@  `@@`@ @ ``@`@ .@l @  `@ ]``@ː@h@@@@@@@1`@ `@ `@ c@t w``@ `@`!@ `@ `@ `@ 1@ &``@ ܐ`@ I@l @  `@ R``@`@` J@ `~`@ B`@7`@ K@` ``@ `@ @`@V`@  @ ``@ C`@ ;`@ L ` :`@ '`@``@ `@`@ ``@ !`@`@ `@ !@ 2`@ `@  `@`@ `@ @ z``@ w`@ ے``@ `@`@ !@ 2`@ `@  `@`@ `@ @ ``@ `@ "ڒ``@ #`@`@ ǒ``@ @ $``@ `@ `@`@ 1@ &``@ ؐ`@ "/`@d `@d `@d 2`@ `@ /@ 2$`@ `@ ``@ K@ S``@ `@ `@ L ` "A`@ L ` "=`@ @| ``@`@ D@x ```@ 3@ (``@ `@v`@p@d `@d `@d 2!`@ `@ L@ 2A`@ r`@ @ ``@ `@ z@ [ i-  e-  m G- -  s - -  M - -  o n- -- - - `@ 4`@ L ` "X`@ L ` "`@ @| ``@`@ @x ``@-  m e- -  s G- -  M - -  f o - - - -- - - `@ L`@`@d`@ @ ``@ `@ M@ . i-  e-  m G- -  s - -  M - -  o n- -- - - -`@&`@ `@W-  m e- -  s G- -  M - -  f o - - - -- - - `@ `@`@ `@`@ `@`@ @̀ |`@ @ d`@  @c@`@  @c@`@ !`@@@@@`@@ @`@ 6Ȓ`@@@@Ȓ`@ P`@a`@@@ `̒`@@@ ``@ p@h J L-  E-  S i- -  g - -  e - -  n o- -- - - `@@ `@ @̀ #`@ @ %`@ =@p ƒ`Ò``@ ̒`@@@ ``@@@ ``@ U@d `@ `@ @%`@ @)`@ ?`@@@@@{`@@ @l`@@ `@ )@` 2`@ c`@ "Ȓ`@@@@Ȓ`@ H`@ +`@~`@ 2@h & L-  E-  S i- -  g - -  e - -  n o- -- - - `@  `@N`@ s`@ @d `@ b`@ " `@('`@ `@ܐ`@ `@ϐ`@ `@`@ @@ `@ @㿐@@@@@` `RootdirDefault serverAll interfacesinfo_windowinfo_textviewr/etc/passwd/etc/shadowgproftpdError reading passwd here: Not installed correctly ?. /etc/group/etc/gshadowError reading group here: User: %s could not be found in passwd or shadow. The password was not changed. Crypt error: using the chpass(wd) program insteadwpopenError changing password for user: %s add_systemuser_entry/etc/ftpusers%sadd_systemuser_question_windownobody%s %s %s %suseradd-c ftp-master -d /opt/ftp/GProftpdNoDir -s/bin/falseCant add the master ftpuser with this command: %s /opt/ftp/GProftpdNoDirrm -rf %sThe user: %s has been added to your system with a /bin/false shell and put in ftpusers, no password was set. %s %sgroupaddCant add the master ftp group with this command: %s The group: %s has been added to your system. aCant write to ftpusers here: Run GProFTPD as root. %s %s %sxfer_textviewxfer_scrolledwindowstatus_labeltotal_xfer_entrytotal_incoming_entrytotal_outgoing_entry/usr/etc/proftpd.confPortPassive%*s %sftpwho -vThe server is offline. infnan%*s %li STOR APPE KB/s: RETR KB/s%li %sOnlineOfflineConfiguration not foundNot enough ram to see the ftpwho outputsocket The server could not be turned off. Do you have another server running on this port ? This could be a server running from inetd/xinetd. setsockopt?ٙtls_use_combo_entrytls_use_encryption_combo_entrytls_verify_clients_combo_entrytls_protocols_entrytls_rsa_cert_entrytls_logfile_entrytls_ip_entrytls_email_entrytls_bits_spinbuttontls_valid_spinbuttontls_password_entrytls_challenge_entrytls_country_entrytls_state_entrytls_city_entrytls_org_entrytls_org_unit_entryglobal_server_nameglobal_bind_tight_on_offglobal_server_admin_emailglobal_server_portglobal_passive_ports_1_spinbuttonglobal_passive_ports_2_spinbuttonglobal_masquerade_entryglobal_masquerade_address_on_offglobal_max_connectglobal_idle_timeoutglobal_resume_uploadsglobal_resume_downloadsglobal_download_bandwidthglobal_upload_bandwidthglobal_show_server_identityglobal_show_server_identity_on_offglobal_reverse_lookupsglobal_default_transfer_modeglobal_ident_lookupsglobal_allow_fxpglobal_server_userglobal_server_groupglobal_fake_user_entryglobal_fake_user_comboglobal_fake_group_entryglobal_fake_group_comboglobal_time_standardglobal_max_login_attemptsglobal_timeout_loginglobal_delete_aborted_storesglobal_systemlog_entryglobal_rand_usernameglobal_rand_passwordglobal_rand_caseglobal_useradd_root_pathglobal_useradd_upload_pathglobal_html_pathglobal_welcome_pathuseradd_directory_entryuseradd_incoming_directory_entryhtml_entrywelcome_entryVirtualhostPort %sA line with over 8000 chars is not valid in: %s ServerAdminServerIdentMasqueradeAddressonoffSocketBindTightSocketBindTight onPassivePorts%*s %*s %sMaxInstancesTimeoutNoTransferAllowStoreRestartAllowRetrieveRestartTransferRate RETRTransferRate STORUseReverseDNSUseReverseDNS onIdentLookupsIdentLookups onDefaultTransferModeUserbinaryGroupDirFakeUserDirFakeGroupAllowForeignAddressTimesGMTGMTMaxLoginAttemptsTimeoutLoginDeleteAbortedStoresSystemLoggp_random_username_lengthgp_random_password_lengthgp_randomize_casegp_useradd_root_pathuppergp_useradd_upload_pathgp_html_pathgp_welcome_nameTLSEngineTLSRequiredbothdatactrlcontrolTLSVerifyClientTLSProtocolTLSLogTLSRSACertificateFileList server: Cant open proftpd.conf here: Port %s User Group AnonRequirePassword no TLSEngine off TLSRequired off TLSVerifyClient off TLSProtocol TLSv1 /log/proftpd_tls.log TLSRSACertificateFile /gproftpd.pem Cant allocate enough memory for the default values Cant write the new proftpd.conf here: Run GProFTPD as root %sftp/opt/tls_hbox1tls_hbox2tls_hbox3tls_hbox4tls_hbox5tls_hbox6tls_label1tls_label2tls_label3tls_hseparator1tls_hseparator2gproftpd.pngpixbufgproftpd_windowPort 21 is the standardproftpd -v 2>&1 |awk '{print $4}' |tr -d " "GProftpd version: %s8.1.7gproftpd_version_labelServernameServer type/etc/shellsshell_comboproftpd -lmod_tlsCouldnt find ftpusers here: so GProftpd made that file and added all users on the system to it. They are now banned from using the ftp server. This in an auto-security feature. |cut -f1 -d":" > Cant open shells for reading here: Cant open shells for writing /bin/false here: Cant get version from: "proftpd -v" ProFTPD must be installed and be in your path. Proftpd version: %sproftpd_version_labelCant allocate enough memory for the configuration.Cant allocate enough memory for the configuration. killall -15 proftpdkillall -1 proftpdpassword_question_windowpassword_change_password_entrypassword_change_username_entryuseradd_username_entryuseradd_password_entryuseradd_shell_entryuseradd_incoming_checkbuttonYou must specify a username. Usernames are not allowed to begin with a number. A username containing < or > is not allowed. The minimum password length is 6 chars. The minimum shell length is 3 chars. Mimimum directory path length is 1 char. Refusing to add user root. AllowUsernologinThe system user was not added because uppercase or language specific letters arent allowed. 0755AnonRequirePassword on MaxClients 3 "The server is full, hosting %m users" DisplayLogin welcome.msg DisplayFirstChdir .msg AllowOverwrite off Allow from all Deny from all Error reading configuration: Run gproftpd as root, not installed correctly ?. falsedev/null%s %s -d %s%s -c ftp-user -m -s %smkdir -p %s%s %s -d %s -c ftp-user -s %sAllowOverwrite on 0777Errno useradd 1 set to: %d Error adding the fake user with this command: add it in a terminal Could not read AllowUser here: Run gproftpd as root That user already exists in this server in proftpd.conf. Nothing was changed. Could not write the new userinformation to: Errno useradd 2 set to: %d Error adding the real user with this command: @userdel_question_windowuserdel_question_entryManually delete that user, could not delete it. user_settings_windowsettings_username_entryCant delete a user of zero length. Refusing to delete user root. Cant open the configuration: Could not find the specified server Try reselecting the server by doubleclicking on it. Error Writing configuration here: %s @%s/%s%sftp/%ssettings_group_entrysettings_homedirectory_entrygplock_checkbuttonbanned_checkbuttonsettings_require_password_entrysettings_max_logins_entrysettings_max_logins_spinbuttonsettings_login_from_entrysettings_uploaddirectory_entryuldir_list_checkbuttonuldir_upload_checkbuttonuldir_append_checkbuttonuldir_download_checkbuttonuldir_rename_checkbuttonuldir_delete_checkbuttonuldir_createdir_checkbuttonuldir_removedir_checkbuttonuldir_chmod_checkbuttonuldir_chgrp_checkbuttonuldir_stat_checkbuttonuldir_showdate_checkbuttonuldir_showwd_checkbuttonuldir_showsize_checkbuttonuldir_changewd_checkbuttonuldir_site_checkbuttonuldir_cdup_checkbuttonUser %s DenyUserFakeUserAnonRequirePasswordMaxClientsError reading the configuration here: The user could not be found, this is a bug or %s has errors. run a syntax check to find out if there are any problems. Allow from&1If there are no complaints the configuration is ok... Check completed.Cant write to proftpd.conf here: %s kick_entryYou must specify a username or process number. popen error, user not kicked User or pid not found. kill -15 %sThe user was not banned, could not write to: %sThe user was kicked and banned. popen error, user not kicked or banned. The user was already banned. The user was not currently in the ftp. The user was banned but not kicked. Cant ban a non active user by PID. Misspelled maybe ? shutdown_windownew_acc_disabled_entryexist_users_dc_entryreal_shutdown_entryshutdown_msg1_entryuserdir_selectionuseradd_incoming_selectionWelcome message generation failedNo xferlog records found or popen failed tls_progressbarEvery certificate field must be filled in Error writing gprotls.conf here: %s [ req ] default_bits = default_days = distinguished_name = req_distinguished_name prompt = no output_password = [ req_distinguished_name ] C = ST = L = O = OU = CN = emailAddress = [ req_attributes ] challengePassword = Chmod_gprotls_conf_after_writeThis step can take a whileopenssl req -new -newhdr -out /cert.csr -keyout /proftpd_privkey.pem -config trusted_cert_and_privkeyopenssl rsa -in /proftpd_privkey.pem -out /proftpd.key -passin pass:Proftpd_key/proftpd.key -out Dump_keyopenssl x509 -in /cert.csr -out /proftpd.cert -req -signkey /dump.key -days Proftpd_certopenssl req -newhdr -in /cert.csr -text -out /gproftpd.pem -config Text_output/proftpd.cert >> Combine_cert_with_pem/proftpd.key >> Combine_key_with_pemChmod_the_certificateClean_dump_key/proftpd_privkey.pemClean_priv_keyClean_cert_csrClean_proftpd_keyClean_proftpd_certThe certificate has been created successfully and placed in the correct location. It will be used by new FTP-TLS logins. The certificate has not been created, something went wrong. ??ə?333333?ٙ??333333?ffffff?陙?? ServerName "Unspecified" ServerIdent on "Unspecified" ServerAdmin Admin@this.domain DirFakeUser on DirFakeGroup on DefaultTransferMode binary TransferRate STOR 50 TransferRate STOU 50 TransferRate APPE 50 /gproftpd/gproftpd.pem Add new server: Out of memory.Cant allocate enough memory for adding a new server Cant open proftpd.conf for writing here: Refusing to delete a server with no specified port. Could not delete the specified server Refusing to delete a server with no specified name. The standard server can not be deleted. Setting a servers port to 0 disables it. Cant open the proftpd.conf here: @combo1combo2combo3combo4combo5combo6combo11combo13combo14combo15combo16combo18combo19combo20tls_combo1tls_combo2tls_combo3Refusing to change a server without a specified name. Refusing to change a server without a specified port. Cant open proftpd.conf here: Could not find the specified server, no changes where made. ServerName "%s" BindServerIdent on "%s" ServerIdent off "%s" Bind "%s" ServerAdmin %s PassivePorts %s %s MasqueradeAddress %s #MasqueradeAddress %s SocketBindTight on SocketBindTight off AllowForeignAddress off Dumped this old Port-line: %s TLSVerifyClient on MaxInstances %s TimeoutNoTransfer %s TimeoutIdleTimeoutIdle %s AllowStoreRestart off AllowRetrieveRestart off TransferRate RETR %s TransferRate STOR %s TransferRate STOUTransferRate APPETransferRate STOU %s TransferRate APPE %s UseReverseDNS on IdentLookups on TLSRequired data TLSRequired ctrl DefaultTransferMode ascii Group %s DirFakeUser on %s DirFakeUser off %s DirFakeGroup on %s DirFakeGroup off %s DeleteAbortedStores on MaxLoginAttempts %s TimeoutLogin %s SystemLog %s #gp_random_username_length#gp_random_password_length#gp_useradd_root_path#gp_useradd_upload_path#gp_useradd_root_path %s #gp_html_path#gp_useradd_upload_path %s #gp_html_path %s #gp_welcome_name#gp_welcome_name %s #gp_random_password_length %s #gp_random_username_length %s #gp_randomize_case#gp_randomize_case upper TLSRequired on TLSProtocol %s TLSLog %s TLSRSACertificateFile %s |  - ` - \ -  -  - T -  -  $ - / -  - H -  -  ` -  - L -   -  D - X -  -  - 8 -  0 -  -  -  -  - | -  - D -  -   - # -  - l - p - \ -  H -    -  - , -  - 0 -  -  -  - ( - \ - ( -  - ,p - D - i:on_info_window_map Tuser_exists group_exists!password_user"on_add_systemuser_question_window_map"is_banned#1on_add_systemuser_yes_button_clicked$xfer_update&list_server_values+list_entire,rlist_users-on_servers_treeview_row_activated.list_servers/list_disc1list_secure2list_files4ton_yes_default_question_button_clicked5on_no_default_question_button_clicked5{on_gproftpd_window_map:on_online_button_clicked;8on_offline_button_clicked;on_reread_button_clicked;on_shutdown_button_clicked \\p L(\D&Ahhoz t\2Sa((~ `   . 5 N lG x    |4  /    , Ed# l s z       2 9aL E _0   ItH     x  c`D " 9A  P V0l o         #/ C i     6,p  Q<f GP\Z`fH{X )8Pr hTcallbacks.cgroup_existscreate_credits_windowgtk_label_set_textgtk_main_iterationon_credits_button_clickedinfo_bufferxfer_updatecreate_pixbufg_object_seton_question_userdel_delete_button_clickedbindgtk_text_buffer_delete_markgtk_list_store_appendencrypt_passwordgtk_list_store_newstrlenon_help_button_clickedgtk_entry_set_texton_useradd_incoming_button_clickedgtk_window_get_typegtk_progress_bar_get_typegtk_list_store_get_typeon_shutdown_button_clickedgtk_toggle_button_get_activegtk_cell_renderer_pixbuf_newon_syntaxcheck_button_clickedon_reread_button_clickedputsgtk_widget_get_typesscanffgetsmemsetcombo_selectiong_freeon_add_systemuser_yes_button_clickedon_change_password_button_clickedsocketlist_serversgtk_events_pendingon_offline_button_clickedon_kick_button_clickedfopenmake_directorypcloseon_files_update_button_clickedstrncatcreate_password_question_windowon_yes_default_question_button_clickedgtk_tree_view_set_cursorgtk_file_selection_get_typegtk_list_store_seton_restore_button_clickedfflushgtk_tree_view_get_cursorselected_server_typegtk_widget_destroyon_password_rand_button_clickedgp_useradd_root_pathgdk_pixbuf_unrefpopencreate_help_windowfputcselected_server_addressfputscreate_useradd_incoming_selectiononlineon_disc_update_button_clickedgtk_toggle_button_get_typegtk_widget_showprintfmemcpyselected_directoryon_userlist_treeview_row_activatedgtk_combo_get_typeuserlist_treeviewUSE_TLSg_type_check_instance_caston_shutdown_ok_button_clickedgtk_text_buffer_create_markclosegtk_tree_view_get_modelon_save_entire_button_clickedgtk_window_set_icongtk_list_store_cleargtk_tree_view_column_get_typeon_welcome_button_clickedgtk_progress_bar_set_textexec_sslon_username_rand_button_clickedfwritecreate_default_question_windowgtk_cell_renderer_text_newon_user_settings_delete_button_clickedstrstrsetsockoptgtk_text_view_get_bufferdgettextgtk_tree_path_new_firstcreate_info_windowperrorgtk_toggle_button_set_activegtk_tree_view_append_columnon_tls_generate_certificate_button_clickedgtk_text_view_move_mark_onscreenlookup_widgeton_add_server_button_clickedcreate_import_windowon_incoming_directory_ok_button_clickeduseradd_directory_entryselected_server_porton_useradd_button_clickedgtk_label_get_typegtk_text_buffer_get_typemallocgtk_spin_button_get_typegtk_combo_set_popdown_stringslist_entireon_info_window_mapgtk_text_buffer_get_boundsstrcatgtk_text_buffer_get_start_iteron_gproftpd_window_mapsleeplist_server_valuesstrchrgtk_timeout_addon_online_button_clickedcreate_userdir_selectionon_user_settings_change_button_clickedstrcmprewindcreate_add_systemuser_question_windowgtk_tree_view_column_new_with_attributescreate_user_settings_windowfcloseon_kickban_button_clickedgtk_text_buffer_set_textgtk_tree_path_freestrcpylist_secureon_userdir_button_clickedon_userdir_select_ok_button_clickedgtk_progress_bar_set_fractionerrnolist_usersglobal_password_randlenoffline_pressedsprintfrandom_stringpassword_userfreeon_import_users_button_clickedgtk_tree_view_get_typegp_useradd_upload_pathftellon_backup_button_clickedgtk_text_view_get_typeatoiuseradd_incoming_directory_entryis_digitzgtk_widget_hideglobal_username_randlengtk_tree_model_getgtk_tree_view_set_modelgtk_spin_button_set_valueon_delete_server_button_clickedon_add_systemuser_question_window_mapon_html_button_clickedgtk_tree_model_get_itersystemcreate_shutdown_windowfix_newlines_in_confon_apply_server_changes_button_clickedgtk_text_iter_get_textg_locale_to_utf8on_servers_treeview_row_activatedlist_filesfix_pathlist_discuser_existson_files_clear_button_clickedon_no_default_question_button_clickedcreate_userdel_question_windowg_list_appendfseekgtk_text_view_scroll_to_markgtk_entry_get_textsnprintfgtk_entry_get_typeg_object_unrefgtk_tree_model_get_typeon_security_update_button_clickedgtk_file_selection_get_filenamefile_existsis_banned cX + +N\i  % X       4  gC   2 A 4 Cti -hi4$   l  4 -   F Z f j q; r  ~    0!! x!!0r!L0![~!l!{ !x!!;!! "A"E h"L -"["";" h" "n"#"r#a #e|#l #{#;## # #$#|$'$. -$=$w$;$q$M$$ % & &&G& -&' ''/Q'? Y'O '_'o ' ''''v' '' }( ( (#x(4(ER(V(g(x((T( ( /(V(j()))" D)3 K)D*)U$)f)w ') )))) ))O)**!A*2 *C *T+*e 8*v `*2**Q*=**c**+n+ +%+L s+[r+j+p+G+It+ -+,~,& ,3,Br,c ,It,Q, -,,y,2,k,n- - -(-7 s-Fr-cp-pD---k- Z-- - .Q.SD..)k.N.]2.m.| .(. ?.SD.\. -.. /  /y/62/Fk/U /b /oF/|/n//r/p//0\0 a0 -0 0=0Ly0[20{ 00 800 0"01a1f1 -11 2z2f2r2 -223 3y3123Ak3P3] F3j3w3y33n33r4p4&4e4r4{4 44 45E{5I|45P 5_5n5|455 -55 56  66' 646C;6PM6]6j6q6$68A8Pk8_ Z8n8} 8 8 88 888 8"89 F99"91y9@9O 9^ 9mF9|9 99;:wr:::; ;;];a8;h ;w;8;h; ;;h;< <<" NMNNN NNNN OO3O7O> OMOj OwO O lOpO O O;PP`P  P/PL PYPh Pw lPpP P P;Q%`Q)Q0 Q?QwRRR RRS SS S'S6S]SlSSS SS TTT T,T; TcTrTT LT TT U U- U>U LU tU UU U U VVJ tVN(VU VdV V V+V 8W `W2W#W3QWC=WSWbcWqWXu(Xy/X XX X/Y6Y YY6 YCkYR Ya2YqY Y(Y ?YnYY ZZDZ9rZz6Z~c`Z ZZr[n[([c [r[ [~[[Q[ Y[ [[ [ \ \\+\<v\M \^\o }\x\^ R^^,^= ^N^_^pT^ ^ /^V^j^^^ ^_  D_ K_)*_8$_G_V_g _x '_ __O___A_ gc`gcg g*gagoWgtgygggggh"FhHhoKhzhChTiXii5N!)(1@9`AIQYaiqy $,8L %-5=E$M$U,]4e@mHuT}pDLT\ $,4<$DLLdTd\ldxlt| $((08@`hp (08@HP$Z$b,l<tD|HLLT\d@\\dx|'/7?GOW_gow ((08@Hpx  # $+ @3 H; TC hN lV ^ f n v ~                 (  < ` `" h* |2 : B J R Z b j u }      , @ L X             % $- T5 h= tE M U ] e m u }        ( 0 D D L T l x     " * 2 : BJRXZ`bhj|rz <Tdlt $,6>H P Z b l(t<|`ll&.6>F N,VP^Xf|nv~ 4@LTlt( <<D#d+l3t;CKS[cks{8T\\d|  %0 8 @(H0P<X<`ThTp\xhhpxx     " * 2 : B J U ]4 e4 m< u@ }H P T X ` h h p         !!$!@! L!(X!0d!8h!@p!Hx!P|!X!`!h!p!x!!!!!!<!X!`!p!|!!!!!!"" " "<"%X"-t"5"="E"M"U"]"e0"mL"uh"}"""""","H"d"""""" "("D#`# |###%#-#5#=$#E@#M\#Ux#]#e#m#u#}# #<#X#t#######4#4#<#H#T#\$d$l$l$t$'|$/$7$?$G$O$W$_$g$o$w$$$$$$ $ $ ($ L$ h$ |$ |$ $ $ $ % !%!$%!$%!!,%)!<%4!<%?!D%G!X%Q!X%Y!`%c!l%k!p%u!x%}!%!%!%!%!%!%!%!%!%!%!%!%!%"%"%"%"$&"4&"8&"@&"@&'"H&/"\&7"p&?"&G"&O"&W"&_"&g"&o"&w#&#(&#D&#X&#X&#`&#t&#&#&#&#&#&#&#&#&#&#'$' $ '$<'$P'!$P')$X'1$l'9$'A$'I$'Q$'Y$'a$'i$'q$'y$'$'$'%'%$'%@'%L'%P'%T'%T'%\'%x'%'%'%'%'%(%( %(%(%(!%()&(1& (9&<(A&h(I&x(Q&x(Y&(a&(i&(q&(y&(&(&(&(&(&(&(&(&('('(',(',('4('8('<('D)'`) '`)'h)'|)!'))')1')9')A')I')Q')Y')a')i')q')y')')()($)($)(,)(<)(<)(D)(X)(x)()()()()()(*(* (*(*(*!(*)) *1),*9)H*A)\*I)\*Q)d*Y)l*a)p*i)x*q)*y)*)*)*)*)*)*)*)*)*)*)******,**,**4**@+*D+ *H+*H+*P+!*d+)*+1*+9*+A*+I*+Q*+Y*+a*+i*+q*+y*++ ++(++<++<++D++X++X++`++t++++++++++++++,+, +,+,+,!,,),,1,,9,,A,,,I,L,Q,h,Y,x,a,,i,,q,,y,,,,,,,,,,-,-,-0,-L,-\,-p,-p,-x,-,-,-,---- ------!.-).-1.4-9.P-A.d-I.d-Q.l-Y.x-a.|-i.-q.-y.-.-.-.-.-.-.-.-.-/-/ -/ -/(-/<-/P-/P-/X./\. /`./h./.!/.)/.1/.9/.A/.I/.Q/.Y/.a/.i/.q0 .y0(.0<.0<.0D.0L.0p.0.0.0.0.0.0.0.0.0.1 .1 /1 / 1(/14/1P/!1P/)1X/11l/91/A1/K1/S1/[1/c1/k1/s1/{1/2/2/2/2/2</2\/2|/2/2/2/2/2/2/2/3/3(0380 3L03`03`0#3h0+3p0330;30C30K30S30[30c40k4 0s400{4P04p04040404040404040404040505 05405415<1 5L15L15T1%5l1-51551=51E51M51U51]51e51m51u61}6$16@16T16T16\16p16p16x161616161616161717027L2 7`27`27h2%7p2-72572=72E72M72U72]72e82m882u8T2}8p2828282828282828282828282828293 939 39(3!903)98349<3<9H3D9H3L9P3T9X3\93d93l93t93|9393939393939393939393:3: 3:@3:H3:L3:X4:X4 :`4:h4:4$:4,:44:4<:4D:4L:4T:4\;4d;4l;4t;4|;4; 4;T4;\4;`4;l4;l4;t4;|4;4;4;4;4;4;4;4<5<5< 5<,5<,5'<45/<<576N>6Y>6a>6l>L6t>T6|>\6>6>6>6>6>6>6>6>6>6>6>6>6?6?7? 7?D7?d7?7&?7.?76?7>?7F?7N?7V@7^@7i@7q@$7|@47@<7@\7@h7@t7@7@7@7@7@7@7@7@7@7@7@7@8@8A8A8"A8-A(85A(8?A08GA@8OAH8WAL8_AP8gAP8oAX8wAd8Ad8Al8A8A8A8A8A8A8A8A8A8A8A8A8A8A9A9 A9A9A9#B9+B93B9;B9CB9KB9SB09[B09eB89mBH9uBP9}BT9BX9BX9B`9Bl9Bl9Bt9B9B9B9B9B9B9B9B9B9B:B:B:B:B:)B:1B:9C:AC:IC:QC:YC:aC:iC:qC$:yC8:C8:C@:CP:CX:C\:C`:C`:Ch:Ct:Ct:C|:C:C:C:C:C;C; C;C;C;%C;-C;5C;=C;EC;MC;UC;]C;eD;mD;uD;}D ;D ;D;D$;D,;D8;DH;Dh;D;D;D;D;D;D;D;D<E<E<ED<EL<&EX<.Eh<6Ep<>EG=FG=NG=VG=^G=fG=nG=vH=~H=H=H =H(=H(=H0=H<=H@=HD=HX=Hd=Hh=Hp=H=H=H>H> H>H>H>"I>*I>2I>:I>DI@>LIH>TIP>\IX>dI`>lIt>tIx>|I>I>I>I>I>I>I>I>J>J(>JL>Jp>J>J>J>J>J?K?K?K? K?(K ?0K(?8K0?@K4?HK<?PK<?XKD?`KP?hKX?pKX?xK`?Kh?Kp?Kp?Kx?K?K?K?K?K?K?K?K?K?K?L?L@L@ L$@L(@L(@$L4@,LH@7LH@?LP@JLt@RLt@ZL|@bL@jL@rL@zL@L@L@L@L@M$@M,@MD@ML@Md@M@M@M@M@M@M@MANA NANAN A$N0A.N0A6N8A@N`AHN`APNhAXNA`NAhNApNAxNANANANANANANANANANAOAO$AO8AO<AODAOPAOTBO\BOhBOhB!OtB)OB1OB9OBAOBIOBQOBYOBaOBiPBqPByPBPBPBP$BP$BP,BPHBPPBPhBPBPBPBPBPBPBPBQCQC QCQ CQ(C#Q0C+Q8C3Q@C;QLCCQTCKQ`CUQxC]QChQCpQCxQCQCQCRCRCR,CRDCR\CRpCRpCRxCRCRCRCRCRCRDRD RDRDRD#RD+RD3RD;RDCRDKRDSRD]RDeRDmRDuS D}SDS,DSDDSHDSHDSTDSTDSlDSDSDSDSDSDT DT0DTTET\E TtETtET|E$TE,TE4TE<TEDTELTETTE\TEdTElTEtTE|TETETEUEU,EULEULEUTEUEUEUEUEUEUEUEUFUF UFUFUF#UF+UF5UF=VFEVFMV FUV F_V FgV(FqV8FyV8FV@FV@FV\FVhFVxFVFVFVFWFW8FWLFWLFWTFW\FWlFWGWG WGWGWG%WG-WG5XG=XDGGXDGOXLGWXTG_X\GgXdGoXpGwXxGXGXGXGXGXGXGXGXGY$GY$GY,GY`GY|GYGYGYHYH YHYHYH"ZH*Z8H2ZHH:ZHHBZPHJZXHRZhHZZHbZHjZHtZH|ZHZHZHZHZH[ H[4H[<H[LH[LH[TH[\H[lH[lH[tH[I[I [I[I[I"\I*\,I2\4I<\<ID\LIL\lIT\I\\Id\Il\It]I|]I]I]I]I]I]I]I^$I^$I^0I^8I^\I^I^I^I^I_J_(J_(J_8J _TJ(_xJ0_J8_J@_JH_JP`$JX`DJ``lJh`Jp`Jx`J`JaJa\Ja\JadJalJatJaJaJaJaJaJaJaJaJbKb K b,Kb4Kb@K$bLK,bPK4bPK<bXKDbdKLbxKTbK\bKfbKnbKxbKbKbKbKbKbKbKbKbKcKc4KcLKcTKcdKcdKclKcxLcL cLcLcL(cL0cL8cL@cLHdLPdLXdL`dLhd Lpd Lxd(Ld0Ld@Ld@LdHLdPLd`Ld`LdhLdpLdLdLdLdLdLdLdMdM eMe MeM"e M*e(M2e0M=e\MEedMMelMUe|M]eMeeMmeMueM}eMeMeMfMf MfMfMf,Mf\MfdMfpMfMfMfMfMfMfNfNfNfN!fN)fN1fN9fNAgNKgNSgN[gNcg NkgDNsgxN{gxNgNgNgNgNhNh8Nh\NhdNh|NhNhNhNhNhNhNhOhO hOhOhO%hO-hO5hO=hOEhOPi O[iOfiOqi Oyi<Oi@Oi@OiTOiTOi\OipOi|Oi|OiOiOiOiOiOiOiOiPiP iPiPjP%jP-jP5jP=j,PEj@PMj@PUjHP]j`PejPmjPujP}jPjPjPjPjPjPjPjPjPjPjPjPjPkPkPkPkQkQ k$Qk(Qk(Q%k0Q-k@Q5k\Q=k\QEkdQMkhQUklQ]kpQekpQmk|QukQ}kQkQkQkQkQkQkQkQkQlQlQlQl(QlPQlXQl\QlhRlpR ltRltRl|R%lR-lR5lR=lRElRMlRUlR]lRelRmlRulR}lRlRmRmRm RmRm,Rm,Rm4RmDRmXRmXRm`RmxRmRmRmSmS mSmSmS%mS-mS5n S=n SEnSMn$SUn4S]n4Sen<SmnLSun\S}n\SndSntSnSnSnSnSnSnSnSnSoSoSo So So(So8To<T oLTo`To`T%ohT-otT5oxT=o|TEo|TMoTUoT]oTeoTmoTupT}p TpTp Tp(Tp0Tp<TpDTphTptTpxTpTpTpTpTpTpUpUpUpUpU pU(pU0pU8pU@pUHpUPpUXpU`pUhpUppUxpUqUqUqUqUqUq Uq(Uq4Uq8Uq<Uq<UqDUqTUqTUq\UqdVqxV qVqVqV&qV.qV6qV>rVHr(VPrDVXrDV`rLVhrTVpr\Vzr|VrVrVrVrVrVrVrVrVrVrVrVrVrVrVsVsWs W s|WsWsW%sW-sW5sW=sWEt$WMt4WUtDW]tWetWmtWutW}tWtWu WuXWuWuWuWvWvWv@WvPWv`WvpWvWvWvWvXvX vXw Xw\X%wX-wX5wX=wXEwXMxXUx<X]xLXex\XmxXuxX}xXxXxXxXxXyXy4XyhXyxXyXyXyXzHXzXXzXzXzY{Y {Y{Y{$Y%{0Y-{<Y5{HY@{lYH{lYP{tYX{|Y`{Yj{Yr{Yz{Y{Y{Y{Y|Y|Y|Y|(Y|4Y|<Y|dY|dY|Y|Y|Y|Y}Z} Z }<Z}XZ}pZ"}Z*}Z2}Z:}ZB}ZJ}ZR}ZZ~Zb~4Zj~HZr~\Zz~Z~Z~Z~Z$ZLZtZZZZZZ,ZDZ\ZxZ[[ [[[&[.[6[>[F[N[V[^[f [n[v([~,[4[@[@[H[X[`[h[t[[[[[[[[\\\\ \&(\.L\6T\>|\F\N\V\^\f\n@\v@\~L\t\x\|\\\\\\\\\8\l\l\\]]@]L]t]&x].|]6]>]F]N]V]^]f]n]v]~$](],]P]\]`]h]]]]H]]]]$]0]X^\^`^^^&^.^6^>^F^N^V^^^f ^n^v4^~@^D^L^^^^^P^^^^^^^^^<_@_D_h_l_&p_._6_>_F_N_V_^_f _nT_v_~___$_H_L_P_`_`_h_t______`````&`.`6`>`F `N<`Vd`^d`fl`n`v`~````````````,`8`@`XaXa`ahaha a(a0a8a@aHaPaXa`$ah0ap@axTaXa`alalataaaaaaaaaaabbb$b4b Db(Tb0`b8lbCtbKbSb[bcbkbsb{bbbbbb$b$b,b@bTbhb|bbbbccccc*0c2hc:lcBcJcRcZcbcj crczc,ctccccccc,c,c4clctc|cddddd"d*d2d:(dBHdJhdRdZdddldtd|ddd$d@ddddddddddddeee ee'e/e7e?$eG8eO8eW@e_DegHeoHewPeheleteeeeeeeeeeee(e(e4fLfTf`flf'f/f7f?fGfOfW0f_Lfgdfo|fw|ffffffffffffffffg g 4gLgTg!pg)xg1g;gCgKgSg[gcgkgsg{gg g gg<g@g@gHgTgXgXghghgxgxghh hhh%h-h5h=hEhMhUh]he hmDhu\h}\hdhlhxhhhhhhhhhhhhh i<iPiPi#Xi+i3i;iCiMiUi_igiqiyi(i(iDi`ititi|iiiiiiiiijjjjj'j/j78j?DjGDjOLjWXj_Xjg`jojwjjjjjjjjjjjj j,j4j<kPk`klkxk k(k0k8k@kH8kPDkXk`khkpkxkkkkkk(ktkkkk(kpkkkLkTl\ltltl|l l(l2l:lBlJlRlZlbljlrlzlll l l(l0lPlPlllllllmmmmm'm/m7m?@mG\mO\mWdm_hmg|mqmymmmmm0m4m<mDm\m`mhmhmxmmmnn nnn'n2n:$nB@nJHnRPnZXnetnm|nun}nnnn0n0n8n8nDndnlnnnnnooooo o(o0To8`o@loHoPoXo`ohHopXoxooTooooooo,o8oTo\odoloopp ppp#p+p3p> pI8pQ@pYHpaPpiXpq`pyppppppppppp$p,p4pHp\phq qqq"q*q2q<qDqLqTq\qdql0qt8q|@qHq\qpqxqqqqqqqqqqqrr r$rDr dr(r0r8r@rHrPrXr`rhrrr| r0rLrTr\r\rhrprrrrrrrrs0s LsXsXs%`s-hs7hs?tsGsOsWs_sgsoswsssss8sTs\shslslsssssstt tt t! t)t1 t9,tA4tI@tQLtY`tadti|tqtyttttttttt t t(t0t8t8t@tHuPu PuXudu!lu)lu1tu9|uAuIuQuYuauiuquyuuuu u u u8u8u@u\uuuuuuv vvv#v-v5v?vG vOvWv_$vg,vo4vw<vDvHvPvXv`vdvdvtvtvvvvvvvww www"w*w4w<wFwNwXw`0wh0wp8wxDwDwLw`wwwwwwwwww w(w0w8x@x HxPxXx&hx.px6xx>xFxNxVx^xfxnxvx~xxxxxxx(xDxLxLxTx`xlxxyyyyy y(y0y8y@yHyPyXy`yh yp$yx4yHy\y`ylyxyyyyyyyyyyyzz(z<z<z Dz(`z0z8z@zHzPzX,z`DzhTzp\zxhzpzxzzzzzzzzzzzz4z8z<{<{ D{L{X{"\{*l{4l{<{D{L{T{\{d{l{t{|{{{,{H{d{{{{{{ {({D{`{|{˜|´| |||$$|,@|4\|<x|DÔ|Lð|T|\|d|l|v|~$|0|<|D|L|T|T|\|d|l|l|t|Ā|Č|Ĕ|Ĝ|Ĝ}Ĥ}Ĭ}Ĵ}Ĵ}&ļ}.}6}>}F}N}V}^ }f }n}v(}~<}<}D}X}p}ŀ}ŀ}ň}Ŝ}Ŝ}Ť}ż}}}}~~ ~~ ~(~3~;~C~K~S$~[(~e0~mh~ul~}l~t~|~Ƅ~ƌ~Ɣ~Ɯ~Ƥ~ƴ~~~~~~~  $, 8(80@8HBdJnjRnjZǔbǠjǠuǨ}ǬǰǴ,<<DXX`ppxȄ Ȥ#+3;CKS[cks{ @`|Ʉɘɘɠɬɬɴɼɼ (4D&L1h9lAlItQ|Yʨaiqy (08Dd˄˔˸ &.6>F N,V<^\fxňv̌~̨̨̜̰̼̼̔$88@hhp ͌(͸0͸8@HPX`h(p(x0Lxx΀Μΰΰθ$PPXtψψϐ Ϭ(08@HPX` h px,,<<LL\\dlЀЀЌЌДа (0 8L@LHTPpXќ`ќhѤpx  $$,H\\dҀ ҔҔҜ"Ҩ*Ҩ2Ұ:ҼBҼJRZbjrz  (008LTdlӔӔ (%@-\5Ԅ=ԬEMU$]@ehmՐuո}0Xր֨ Hpט ,4< <Dh%p-|5ؔ=جEMU]emu}  $8DTX`hppxـوو'ِ/٨7٨?ٰGOW_gow (,,4@HHP\ddl||ڄ ڔڔڜ&ڤ.ڼ6>FNYai(q<|<DXX|ۈ۔ۜۤ۴۴ۼ %-5 =EM$U4]DePmXu`}xx܀܈ܐܘܠܤܨܼܰ  $0%<-P5\=\EdMpX݄`݈hݐpݘxݨݬݴ,4<DPPXl#|+|6ބ>FN V^f,n@y@HXX`ߘ,,4 $,4 <D L$T$\,d4l<t<|DLTT\hx"$-88H@PK\V|^iqy$Pl   ,0$4,<4D<dDpLWbjrzp ,\'\/d7?GOWH_lglotw,,4p'/7?GOW_<g<oDwtX||<``h'(/07<APIPQXYdaiqy$@ddl (!L)L1T9AIQY(aLiLqTyPtt|44< !)1 9tAIQYa(i`qpy,8@P\  0$<,h4<DLT\dlt|(Dht 0L`p&.6>FNV^f nv$LThh 0(0088D@DHLPPXT`XhXp`x|"$*,40<8DHLLTP\Pddlxt|4< D(L2T:tB|JR\dlt|  <DLT\\d&p.|6>FNV^fnv~ (8LL TT\!d)h1l9|AKS]emu}$$DDLPX`llt'/7?GOW_ g(o8yDPdlt| (LT `(d08@HPX`jr4z@@LXXdp|$@L `px"*2:BJRZbjrz$0DDLl "*2:BJRZbjrz ,,@`h  ",*42<:HBPJXR`\ddlt|    , , 4 D H L h p       $ , 4 < D N $V L^ Xf n v ~         ( T d          & . 6 > ,H LP tX x` h p x    4 P l     ,D\t (08 @0K8S@^\fnv~ $,44<\(&(.06D>\FhNtV^fnv~4@Xd| $<T&`.l6t>|FNV^fntv~ <PPXh8H 0L``h&x.6>HFXNdVt^|fnv~<L(<<DT$4&.6>FNVx^fnv8~x P `   !P!!""p&"."6"># F# N# V#(^#\f#n$v$,~$`$$$%%l%%%&P&&&'H'''''((&(.(06(T>(xF(N(Y(a(i(q(y((((()))))$)))))))*8 ***!*)*1+9+8A+LI+|Q+Y+a+i+q, y,,H,\,l,|,,,,,,,,- --,-d- ---!-).T1.d9.A.I/Q/ Y/a/$i/,q/4y/4/</H/T/`/l///////00000 0(0(00&0H00L80P@0XH0pP0X0`0h0r0z00000000011 1 111$1$1,18 1D1X1X$1`.1t61t@1H1R1Z1b1j1t1|1111111112 2<2D2L2\222 222!2)212;2C2M2U2]3e3m3 u3(}3<3@3@3H3T3X3`3h3x3x3333333 333#3+363>4F4@N4HV4P^4Xf4`n4hv4p~4x44444444455 5$5(545<5T5l555&5.565>5F5N5V5^5f5n5v5~5666,646@6T6\6\6l6t666666 666#6+636;6C7K78S7T[7pc7k7s7{778848P8l888889909L9h999 99:#:,+:H3:d;:C:K:S:[:c; k;(s;D{;`;|;;;;<<$<@<\K>0S>H[>`c>xk>s>{>>>???,?D?\?p??????@@ @4 @H@\@t#@+@3@;@C@K@SA[A,cADkA\sAp{AAAAAAAAAAABBBBB(B,B4BLBdBl&Bl.B6B>BFBNBVB^BfBnBvB~BBBBCCCCCC C C(C4C<C<CDCL CTCTC\$Cd,Cl4Cl<CtDC|LCTC\CdClCtC|CCCCCCCDDDDD D<D<DDDTDTD\"Dp-Dp8DxCDKDSD[DcDkDsD{DDDDDDEEE E EDETEpExEE EEE"E*E2E:EDELETE\FdF lFwF$F\FhFFFFFFFFFFFFFFFFF&G.G6G@AGTIGTQG\YGdaGhiGlqGlyGtGGGGGGGGGGGH H(H0H8H@HHHPHXH`&Hh.Hp6H|>HIHQHYHaHiHqHyHHHHHIIII$I$I,I<I<IDIXIlIxII$I/I7I?IGIOIWI_IiIqI|IJJJ JJJJJ$J8J@JPJPJXJtJxJ| J|JJ!J)J1J9JAJKJSJ^JiJtJ|JJJJJKKK0K0K8KLKLKTK\K`KdKdKlKtK%K0K8K@KHKSK[KcKkKsK{KKLL LLL0L0L8LTLXL\L\LdLlLpLt LtL|L%L-L5L=LELMLXLcLnLvL~LLMMMMM M(M,M0M0M8MDMLMTMd MdMlMt#M|+M3M;MCMKMSM[McMkMsM{MMMMMNNNNNN,N,N4NHNTNdNtNxN| N|(N0N:NBNJNRNZNbNmNuN}NNNNOO OO(O(O0O<O<ODOPOXO` OpOtOx"Ox*O2O=OEOPOXOcOkOsO{OƒO‹O“O›O£O«O³O¾OP P PPP,P,P4P<PDPL"P`*P`2Ph:PtBPtJP|RPZPePpPxPÀPÈPÐPØPãPëPöPþPPPPPQQQ Q QQQ !Q(,Q07QD?QDGQLOQXZQhbQhjQprQx}QąQĐQĘQĠQĨQİQĸQQQQQQQQQQ QRR&R .R 6R>RIR QR(\R8dR8lR@tRH|RLńRPŌRPŔRXŜRdŤRlůRtźRRRRRRRRRR RRR%R-R8RCRKRSR^RfS nS vS~S ƆS ƎS(ƖS4ƞS<ƩSDƴSPƼSTSXSXS`StStS|SSS SSS$S/S:SBSMSUS]SeSmSuS}TDžTǍTǕTǝTǥT(ǭT(ǵT0ǽT8T<T@T@THTPTTT\TdTtTtT| T(T0T8T@THTST[TcTkTsT{TȃTȋTȓTțTȦTȱTȼTUU UUU$U(U,U, U4U<U@"UD*UD2UL:UXEUXPU`XUl`UtkU|sU{UɃUɋUɓUɛUɣUɫUɶUUUUUUUUUV V VV$$V$,V,4V8<V8DV@LVWVbVjVuV}VʅVʍVʕVʝVʥVʭVʵWʽWW WWW$W,W0W4W4W< WHWP WX(Wh0Wh8Wp@WxHW|PWXW`WhWsW{WˆWˎX˙X ˡX˩X˱X$˹X,X4X<XDXLXTXhXhXp XxX|X"X*X2X:XEXMXUX]XeXmXuX}Y(̈Y4̐Y<̛YḌYL̮Y`̶Y`̾YhYpYxYYYYYYZZ"Z*Z2Z,:Z,BZ4JZ<UZD]ZLhZ\pZ\xZd̀Zl͋Zt͓Z|͛ZͣZͫZͳZͻZZZZZZZZ[[ [ [ [ #[<+[<3[D;[XC[XK[`S[p[[|c[k[s[~[Ά[Ύ[Ζ[Ρ[Ω[α[ι\\\0\@\@\H\P\X\` \t\\"\*\2\:\B\J\R\Z\b\j]Tt]d|]pτ]Ϗ]ϗ]ϟ]ϧ]ϯ]Ϸ]Ͽ]]]]]]]]^^^^ ^*^$2^,=^4H^HP^TX^h`^|h^p^{^Ѓ^Ѝ^Е^Н^Х^Э^е^^^^___ ___0 _0_8_L#_L+_T3_d;_pC_K_S_^_f_n_v_~_щ_ё_љ`Ѥ`Ѭ`Ѵ`Ѽ`$`$`,`8`@`H`\`\`d `t``%`0`;`C`K`S`^`f`q`y`ҁa҉a ґa ҙaҡapҬaҴaҼaaaaaaaaaaa"a*a2a:aEbPbXb`b hb,sb4{b<ӆbDӑbTәbTӡb\өbdӴblӼbtbbbbbbbb bb b(b3b;cCc(Kc0Sc@[c@ccHkc`vcd~clԆctԎcԖcԞc) Y u$ ,Y4 8u< @LYTl`d x|  . ,  ( (6  $,~<,T+ 8 86  ,4@H~X,x+j(DL\ H` Xd Xhml Ht x|    x xm HoQ( 4 D,L  P T X6\  px~,+0D`hp t x6|  ~,+Thj| H  m H    @ xD xHmL HT\odQ| H    Hm   m H oQ~, 0 0 h hH, p088@pD pH xL HP xTmX H` hl poxQ( h)Y u ~,   $ 0Y 8 @ T. l  p  t  x6 |     ~ , ~ ,  + j   *     ) Y  u  ~ , , @~ P, X  \  `  d  h @ l  p  t  x @ |   h H h P 8         H  m H     o Q ~ , T  h~ x,   (  (   h H h 8 8   p H p m H     o Q     (D 0  4  86 <  LJ T  df h  pJ x  D H P m H    o Q  H 8 m H    o Q H  m H( , 0m4 H< @ D L PT Xo`Qh)Y u Y u Y u Y (u (Y @u @$Y, X0u4 X<  @ pD pH6L  x~,~,  +j j ( , 4*<`t~,N N    H m H$,DPXhYpl|}YY[YtY    $Y,@.T XH\  lAp t~,    + j j   j( , 0jP+dl8t~,    Y    08DYLd h l p t|Y  N N   H N N  j 0j4 @ HjL X \j j 1(kX~h,x   H m H|Y\N N     $|0Y8@N HN L 8P(T 8Xd `hpl `x h|  hm H    m H   m H oQN  p  H m H4<|HYPX\dN lN p t* *)Y  u  Y 8u 8Y Xu XY xu x$Y, 0u4 @YH LuP \Yd hul xY u Y u Y u Y u Y (u (Y @u @Y X$u( X4Y< h@uD hPYX x\u` xlYt xu| Y u Y u Y u Y u Y u Y 8 u$ 80Y8 `<u@ `LYT xXu\ xhYp tux Y u Y u Y u Y u Y  u  Y 8u 8,Y4 X8u< XHYP TuX dYl put Y u Y u Y u Y u Y u  Y 0u 0(Y0 H4u8 HDYL `PuT ``Yh xlup x|Y u Y u Y u Y u Y u Y u $Y, 00u4 0@YH HLuP H\Yd hhul hxY u Y u Y u Y u Y u Y u  p  $ p(6,  @HT\~l,t~,~,~, C C j K  ( (K ~ ,  @ z  @ z  (  ,C 0j 4  D H H  T+ dX h H j H X X j C X   j C h j ! !  x!j!j!0j!4 x!L+!`!l !x !| !m! H! p! p! !! !o!Q!!!!!!! h! h!j! """"Y"" " "j""## #(#4Y#<#D #H #Lj#\ $$$ $,Y$4$< $@ $Dj$T $Xm$\ H$d$l$$$Y$$ $ $j$ $*$%%%$%0Y%8%D%L %X %\ %` %dm%h H%p%x%%%Y%% % %j% % %j% % %m% H%&&& &,Y&4&< &@ &Dj&T 0&h 0&lj&| &*&&& @& @&*&'' P' P' j'0 '<*'D'h'| `' `'j' '*''' x' x'j' (*((( (, (0j(@ (Dm(H H(P(X(p(x(Y(( ( (j( (*(( ( (j( (m( H)) )$),)8Y)@)H )L )Pj)` @)d @)p*)x)) ) )j) @) @)*)** * * j*0 *4 *8j*@ *L *Pm*T H*\*d*|**Y** * *j* * *j* * *m* H**++ +Y+ +(  +,  +0j+@ 8+D @+H @+Lj+\ @+`m+d H+l+t+++Y++ 8+ 8+j+ H+ + H+j+ P, , P,j, @, @,$*,,,D,L,XY,`,h ,p*,x ,| ,j, ,m, H,,,,,Y,, `, `,j, @- @-*--(-0-<Y-D-L -T*-\ -` -dj-t -xm-| H-----Y-- p- p-j- - - -j- .m. H. ..,.4.@Y.H.P .T .Xj.h .l .pj.x . .m. H.....Y.. . .j. .*//(/< /@ /Dj/T /`*/h// / /j/ / / /j/ /m/ H//00 0Y0 0( 0, 00j0D0L0p000Y00 0 0j0 0*001 1 1j1$ 1,*141X1l 01p 01tj1 H1 `1 `1j1 `1m1 H11111Y11 H1 H1j222<2T2\2lY2t2|F 22F 2Y22 h2 h2j222333Y3 3( 3034 3<Y3D3L 3P 3Tj3h3p3333Y33Y33 3 3j44 404H4P4`Y4h4tY4|4X 4X 4 4 4 4j4 4 4 4j4 4m4 H44455Y55 5$ 5(j58 5@j5D 5P 5T 5Xm5\ H5d5l 5tj5x 5 5m5 H55 5j5 5 5m5 H55 5 5j5 5 5m5 H5666$60Y686@ 6D 6Hj6X 6\ 6` 6dj6t 6xm6| H66666Y66 6 6j6677(707<Y7D7L 7P 7Tj7h7p7777Y77 7 7j77880888DY8L8T 8X 8\j8`C 8l H8p 8t 8xj888888X 88.8+9 X 9<9L x9P9X9dY99 x9 9 9j9 9 9 9 9 9j9 9 9 9: :: :Y:8:D :L:\ :`:h:tY:: :: :::Y:: ;; ;; ;,Y;L;X ;`;p ;t;|;Y;; ; ;; 0;;;Y<< < < <0 P<4<< 0> H> 0>$m>( H>0 p>4  >8 ><  >@ p>D>H >Lo>TQ>\ H>`j>p `>t `>xj> > > > > > p> p> > > > > > > x> x> > > > > ? ? ? ?*? ?D?\?d?pY?x? H?*?????Y?? P? @ @ @ @$K @(K @,@< @@ @Dm@H H@L p@X p@\~@l,@t @x @| @ @ @ @@  @6@  @@@@~@,@~@,A+A A AjA, Al Ap AtjA A A AjA B B B$jB4 Bt Bx B|jB B B BjB C$ C( C,jC< !C| !C !CjC !C !C !CjD0D8DHD`DhDtYD|DDDDDDYDDDEEEYE<EPEXEhEpE|YEEEEEEEYEFFF(F@FHFTYF\FpFxFFFFYFFFFGGGYGG0G8GHG`GhGtYG|GGGGG)G pGYG ! GuG ! G  G  G6G pGHHH~H(,H4~HD,HXHpH+HHHHYHlHHHI.III I HI I$mI( HI0 I4 pI8I< I@oIHQIPIXI`Ix)I|W IYI !0IuI !0IW IIIYIW IIYIIhI HJ 8J 8J HJ mJ !HJ !HJ J( HJ, HJ0mJ4 HJ8 !HJDJL !PJP !PJTmJX HJ\ !HJhJp !`Jt !`JxmJ| HJ !HJJ !xJ !xJmJ HJ !HJJ !J !JmJ HJ !HJJ`J pJ  J  J6J pK KK K(~K<,KH~KX,K`~Kp,Kx~K,KC K KC KjK KK K !K !KK KK !Kz K !Kz KKC KjK K+LL L<+LLC LPjLT L` !Ld !LhjL `L !L !LjL L L*LLLL"LYLL"MYM?M, !M0mM4 HM<MDM\Md"MpYM?MM !M !MjM M*MMM"MYM?N !N !N jN$+N4 "N8 "N<jNL PNP PNTjNd Nh "Nl "NpjN `N `NjN N "N "NjN N*N~N,N N NjN !N "0N "0OmO HO OO,+O8 ODjO\Op "8Ox+O "8OjO*OOO"OYO?P~P,PP( "0P, !P0 !P4mP8 HP@PHP`Ph"PtYP?PP "P*PPP"PYP?P "P `Q `QjQ !QQ Q(Q0Q8QL.QTQ` "0QdmQh HQpQxQ "@Q pQRQ "@QK QK QQ !QQYQ]QQYQBR R$R<RTR\Rt "hRxR "R "R "R "RK R #R #R(R #0R #0R "hRRK Rz SSz S C SSC SW S W S$S,W S0SH)SL HSTYS\ #hS`uSd #hS|SSYSSYSShS !HS #S #SmS HS !HSS S SmS HS !HTT #T #TmT HT !HT(T0 #T4 #T8mT< HTD !HTLTT`T\ pT`  Td  Th6Tl pTTTT~T,T~T,T"TYTT #UU #U"UYU0?U@+UT #UX #U\jUl !Up !UtjUU #U #UmU HU U pUU UoUQU+U #VV+V$ #V( #V,jV@"VLYVTV`VhVxVV"VYV?V VV V"VYV?W #W #W jW #W #W$jW4 $W8 $W< $W@jWTW\WlWW"WYW?W $(W $(WjWWWXX"XYX(?X8+XH #XLXTX\Xp.XxXnXXYX=XX $8X $8XmX HX XX XoXQX $hX $hYjY $pY $pYjY, #Y0 #Y4jYD #YH #YLjY\ $Y` $YhjYl $Yx $(Y| XYY XY"YYY?YjY $(YYYZZ"ZYZ0?Z8 $Z<jZPZXZhZZ"ZYZ #Z $ZjZ $ZZZ[[ "[Y[,?[8 $[@j[D $([P X[\ $[`j[p $[x[[z [[z [[["[Y[?[ X[\ X\"\Y\$?\0 $\4\<\L\d\l"\xY\?\ #\ \ \,],] ,]@,]`,],],])] H]Y] $]u] $]]]Y^^Y^^$h^( !H^0`^8 $^< $^@m^D H^H !H^T^\ $^` $^dm^h H^l !H^x^ $^ $^m^ H^ !H^^ $^ $^m^ H^ !H^^ $^ $^m^ H^ !H^^ $^ $^m^ H^ !H__ %_  _  _H_ %_8A_d %_p*_x"_Y____"_Y_?___"`Y`?`$`<`D"`PY`d?`l``"`Y`?```"`Y`?`aa"a(Ya<?aP+a` %ad8ala.a %(a %(aRa %a %@a  a %@a6a  a %Xa)aYa %aua %aYb %bub %bb b,b4~bD,bX~bh,b %b+bb %bjbb+bcYclcc,c4cDcLcT  cX6c\ %@cp,c,c %c %c %c %c &c & c+cjc %cc cjc %ddjd %d(d4jd8 %dHdTjdX &dhdtjdx & dd+ddYdlddddee.e e(e0 He4 %Xe8me< HeD  eH eL  eP %@eTeX e\oedQel &8ep %@etRex &8e| &he He &heme He  e e  e %@ee eoeQee e He eme He e %@ee eoeQff f &8f %@f$Rf( &8f, &hf0 Hf4 &hf8mf< HfD  fH fL  fP %@fTfX f\ofdQfp Hft fxmf| Hf f %@ff fofQffff.fff)f HgYg &gug &g<gDgPYgXgdYgpgxhg| !Hg &g &gmg Hg !Hgg &g &gmg Hg !Hgg &g &gmg Hg !Hgg &g &gmg Hh !Hh h &h &hmh Hh$ !Hh0h8 &h< &h@mhD HhH !HhTh\`hd 'hh  hl  hp6ht 'hhhh~h,h~h,h+i i "i,Yi4iHiX 'ii,j$:j,jXj`"jlYj?k,k:kl l("l4YlH?m,m<:mDmpmx"mYm?mnD,nl:ntnn"nYn?no0,oD:oLolot 'Po 'Pomo Hoooo"oYo?o+opp p .p(p<npDpPYp`=phq,q4 '`q@ '`qHqX 'pq` 'pqpqx"qYq?q 'xq 'xqmq Hq qq qoqQqqr 'rmr Hr 'r r 'r r$ r( 'r, 'r0mr4 Hr<r@ rDorLQr\ 'xr` 'xrdmrh Hrp rtrx r|orQr)r prYr 'rur 'r (r (r6r pr Hr~r,r (s (sSs ((s ((ss s| (@s (@ss (Xs (Xss (xs (xss (s (ss (s (ss (s (sst$ (t( (t,t4 )t8 )t<tDt )(t )(tt )@t )@tt )Xt )Xtt )pt )ptt )t )ttu uXuu )u )uuv )v )vvv@ )vD )vHvP )vT )vXv` *vd *vhvp *(vt *(vxv *@v *@vv *`v *`vv *xv *xvv *v *vv *v *vvw w\w *w *ww *w *ww +w +ww + w + wwxx< +8x@ +8xDxL +`xP +`xTx\x +px +pxx +x +xx +x +xx +x +xx +x +xx +x +xx +x +xyy4yh ,yl ,ypyx ,(y| ,(yyy ,@y ,@yyzH ,PzL ,PzPzXzzLz{{W { W {{W {{$W {({0W {42{@D{H ,`{L H{P ,`{Tm{X H{` {d{h {lo{tQ{|{ ,{ ,{m{ H{ ,{ ,{m{ H{ { { { p{{ {o{Q{W {W {{W {||W |)|Y| '| u|$ '|(D|@ |H |\,|d)|h |tY|| $|u| $|Y| &|u| &|Y| #h|u| #h|Y| !0|u| !0|W |W |Y|u| |y |y }Y} }u} } } }$Y}, H}0u}4 H}@Y}H h}Lu}P h}\Y}du}h }ly }tY}|u} }F } } ,} ,} ,} ,}}F }}F }}F }}Y}}Y}y }} ~ ~ ~~(~8Y~@~LY~P ~T~`Y~h ,~lu~p ,~Y~ ,~u~ ,~Y~ -~u~ -~Y~ -~u~ -Y -( u -((Y0 -84u8 -8PYX -H\u` -HxY -Xu -XY -hu -hY -xu -xY -u -% - $ -, -<@ -HYP -TuX -\ hYp_xG  p  6 p~, -+( -4jX`h~x,~,  - -H  HA+(L8T HX .\ H`md .l . p . t|)Y .(u .(|YY,Y8@hD !HL HP #T HXm\ #` !Hlt H|  Hm  !H H .@ Hm .@ !H H .P Hm .P !H`Ya$Y0r8DYLaXYdrlxYaYrYaYrW YW ,Y8@hL HP 8T HXm\ 8` !Hlt H| H Hm H !H H !P Hm !P !H H !` Hm !` !H H !x Hm !x !H$ H, !0 H4m8 !< !HH``hpW xY|W aYrW YW aYrW YW aYrW Y$W (a4Y@rHPW XY\W `alYxrW YW aYrYY$h0 H4 &8 H<m@ &D !HPX H` &d Hhml &p !H| H & Hm & !H H & Hm & !H H & Hm & !H H & Hm & !H,D`LXY`alYxrYaYrYaYrYaYr(Y0a<YHrP\YdapY|rYYh` H $ Hm $ !H H $ H m$ $( !H4< HD $H HLmP $T !H`h Hp $t Hxm| $ !H H $ Hm $ !H H $ Hm $ !HYa Yr ,Y4a@YLrT`YhatYrYaYrYaYr .`YaYr4Y< .p@uD .pH  P .`T6X  d Hlt~,~, @ @ + $0 @< @@jX+VY   6 .` H J @$f( @0J8@  D H L6P  \ H`h)l xY @u @Y Xu XYu Y u Y u      . .H  $~4,< .H+T .`jtX |X 8X W W 2W W $W (W ,4W 8W <DW HW L`.ltQj *gQ)Yu X X X 8DLD`DtDDDDDDDD . Hm .$ (, 04 < h H . Hm . H . Hm . H /8 Hm /8oQ,t /`x /`| /x Hm /x  /  / .` oQ   6$ .`4 H8 /< H@mD /L P /T X \ .`` /dh lotQ  / Hm / H 0 Hm 0     oQ H~, H 00 Hm 00 (@H)TY\ 0H`ud 0Hh|tY| 0`( 0` 0 H 0m H  oQX  ,@N pN p N N 0 0( , 8N <N @ 0L 0P T ltQIQQ)Y 1u 1Y 1 u 1 Y 1@u 1@ Y(8Y@LTDp x ,,)Y 1`u 1`Y 1xu 1xY 1u 1Y $u( 4Y< @uD PYX 1\u` 1dtY|YYYYY 1 1 1 18L 2 P 2 T HXm\ Hd hl poxQ 2 Y 2P 2PY 2 2Y 4H 2P 2 2 2 H~,~,C C j K  ! !K , !0z 4 !8z <D pH  L pP6T  dlx~,~,C  C j (+<TC X \ `jdC  8P 8P + j j 8 2@ `D LjP h+| 2j H C jC `j  3 3$j8L\ H` 3d 3hml Ht x| 3H 3Hm H oQ~,~,$,4HP 3xT 3xX7`~p,<D 3 3 3 3 3 3 3 3 4 4 ,P ,P 4 4  48 48 (t 4Hx 4H| 4 4 (pPY$LT\C ` dC hjl |  p  6 p~,~, 8P 8P+(0 4C 8 <j@C T 5hp 8Px 8P|  x+ jj x 5 5j@ 5D 5Hjl 5 5 $+<HjL 5 hx | H m H p p oQ H 50 50m H   p p  $ 5P( 5P,m0 H8< @oHQdK hK l 5 5j 5 5j 5  , 5  ,  $H(  4 p88L P 5T 5X \dx 5|  5    H  p8 Xdl 5 5 6 6H 6L 6PXT 67 6p p 6 R 6 H 6 6m H $( 04 8 7(< 7(@mD HLP To\Ql Hp 7@t 7@xm| H  p p 7` 7`m H oQ  H m H$ p( , p04 8o@QHP` d Hh lmp Hx p| p oQ 7x 7xm H  7 7m H  oQ$,@T\h l Hp tmx H p p oQ  H m H p p oQ(8@Thpx p| ( (6 pL;Q)Y 1u 1Y 1@u 1@Y 1 u 1 $4Y<HY\d)tY| !0u !0Y ! u ! N N 0 0 H 7 7m H  p$ p(, 0 7`4 7`8m< HDH LoTQ\hpl pp t 8x |R 8 H 8 8 m H   7( 7(m H oQ)Y 8X u 8XY$ 8p(u, 8p0<YDL`Dh~l Hx,  H   8D pp p 8 8$m( H04 8 8< 8@mD HLP To\Ql)|Y 8u 8Y 8u 8Y 8 8 p   6 p H ,4~D,|~,~ ,(~8,@~P,\~l,t~,C C j K ( (K  @z @z C j +  jC ,j@H 9L 9P X x\jtjj x+   H m H p p oQ$,4<HPXh px p p  9 9 Hm H  oQ !+jj !8P` 98d 98hml Ht x| p p , ,m H oQ ! ! H 9X 9Xm H  9 9m H o Q(08@HXK \K `l @px p ( (6 pLQ)Y 8X u 8XY 8p u$ 8p(4Y<DDLPW TW X`W dlN pN | 0 P !j !+j Pj$4 98 p< 9@RD pHL 0`~p,x~,~, )Y 1`u 1`Y F F $F (@ 9D 9H ,L 9P ,X)Y u Y 0Y8 <u@ DYLTh.px 9  ~, )Y 1xu 1x$Y,D.L\)`W lYt !0xu| !0W YW ]YW BQY 8u 8Y 8 u$ 80Y8 :<u@ :LYT :Xu\ :hYp :8tux :8Y :Pu :PY :hu :hY :u :Y :u :Y :u :Y :u :,Y4 ;8u< ;HYP ; TuX ; dYl ;@put ;@€Yˆ ;`Œu ;`œY¤ ;¨u¬ ;¸Y ;u ;Y ;u ;Y ;u ; Y <u <(Y0 <4u8 <DYL <0PuT <0`Yh ,<T\hYpx >| >̀j̬̔ >Y$ >( >,j< >0@ >0DjT >8X >8\jl >@pP|Ÿ́q͌ >@͐ >@͔jͤ >Hͨ >Hͬjͼ >PPYq >P >Pj >XPY q >X >Xj, >`0P<YDqL >`P >`Tjd >hh >hlj| >p΀PΌYΔqΜ >pΠ >pΤjδ >xθPYq >x >xj > >j >PYq$ >( >,j< >@ >DjT >XPdYlqt >x >|jό >ϐPϜYϤqϬ >ϰ >ϴj >PYq > >j0 >@ >P >ДPРYШqа >д >иj >PYq > >j >PYq >$ >(j8 >< >@jP >TP`Yhqp >t >xjш >ь >ѐjѠ >ѤPѰYѸq > >j 5 5j,P8Y@qH >L >Pj` ?dPpYxqҀ ?҄ ?҈j >Lp x ӌ,Ӕ)ӤYӬ 8ӰuӴ 8Y ?u ?Y 8u 8Y :u :,Y4 :h8u< :hDYL :PuT :`Yh :8lup :8ԈYԐ :PԔuԘ :P԰YԸ :Լu :Y :u :Y : u :(Y0 :4u8 :DYL ;PuT ;lYt ; xu| ; ՔY՜ ;@ՠuդ ;@ռY ;`u ;`Y ;u ; Y ;u ;4Y< ;@uD ;\Yd ;hul ;քY֌ <֐u֔ <֬Yִ <ָuּ <Y <0u <0Y T >Xjh !l !p !tj ?Y  HYP\d 6 (L ?j >pY >j > > j ? ?$,PHYP$dY$XY`$tY$Y $4Y$Y$Y$Y$Y$(Y0$DY$Y$hYp$Y$LYT$hY$(< ?@ ?DjT @X @\dPY$Y$$Y$Y$PYX$lY$8Y@$TY$8Y@$TY$`Yh$|Y$ Y($<Y$Y $ Y$ Y$(`p !j ! ! !08` l , @ @( @ @()Y !0u !0Y ! u ! 2D L `,h @@l pp x @@| p  , @P p @P p  H   pA~ ,0+D HH @hL @hPmT HX `d lp t @x @|m H 8p p   oQ) ! Y(u, ! 0<YDlXdp pt (x (|6 pLY !0u !0Yu ! 2.$ @( H, @0m4 H< @ pDH LoTQhW lW p t ( ' (6 'W W W W W W )Y @u @(Y08N <N P @\ @` Hdmh Hp tx |oQ   H  A A~,~,~,  +  0*8d|8 A@~, AX$ AX,4<DP A T HX A@\m` Hh lp to|Q~, AX AX)Y @u @Y @ @ H$m( H0 48 <oDQL~\,d~t,|N N    6  AhJL A (W ,W 08  < @HD  P ATA\~p,x  +  *$8P8X`p t A H Am H  oQ H B Bm H   B8 B8m H  oQ (W ,W 08~H,P AXT AX\dl| HJ H Am H   A B` B`m H   B Bm H  oQ( H, Ah0m4 H< @ DH LoTQd)tY| Bu BY Bu BY Bu BY Bu BY Bu BY Y(8Y@PYXd~t,$DL`  d  hHp8xQ~,)Y Cu C>Y0Ldlty |Yy .DMQ~,~, ),Y4 C(8u< C(@>LYT`h  Y $,4HDP.XDd  ,, )  Y  u    $Y , h p   xH |     A  +   8      o Q  H  CH CH m  H  $ Cp ( Cp ,m 0 H 8 \  `  x, ,   )   Y  u   Y   ( T p X p \ d ' '    H     A  +   8      o Q , H 0 CH 4 CH 8m < H D L Cp P Cp Tm X H ` x Ip | Ip ) Y  u  Y  u  Y  u  Y  u  Y   u   Y $ ( (u , ( 8Y @ @ Du H @ TY \ X `u d X pY x h |u h Y x u x Y  u  Y C u C  Y YY 0Y8HYP`YhxYYYYY H C Hm C   0o8Q!Y3 ~,$~4,\ ( (6 C Ix Ix!Y3, D<f@ DD DTfX D`LlJt D0f D0LJ DHf DH Dxf Dx Df DLJ Df D D,f0 D8L@ DPfT D\Ld Dtfx DL Ef EL E(f E(L E@f E@L EXf EXLJ$ Ep4f8 Ep< ELfP EXLdJlt Ix I|!Y3t E Ed I I!Y H E H m Ec$Y0<D3T E\ E`Sh F F8 F< F@H F8 F8d I I !Y$ FX(c, FX4Y@LT3d F`l F`pSx Fx FxH FL FP\d Fldp Ft Ix I|!Y3 F` F`S< F@ FDL F Fd I I!Y(03@ FH FLST G G$ G( G,4 G8 G8 GPd GP I I!Y3 G` G`Sx G| G G G8 G Gd I I!Y3x G| G P G T G Xd  G G  !P! H! H!d""p" H " H "d" I" I"!"Y## #3#\#$ H8$ H8$$d$`$ HH$ HH$$ H`$ H`$d%%l% Hp% Hp%d%&P& H& H&d&'H' H' H'd' I' I'!'Y'''3'( H( H( H(m( H(  (((, (0 H(4 H(8 H(<m(@ H(D (L(P (T H(X I(\ I(`m(d H(l (p(t (x((R( C((( I0( I0(m( H( (( ( p( ( (6( p( H(~),) I) I)S)$) I) I)) J) J)) (x) (x)) () ()) )) ))) J() J())*8* )@* )@** )X* )X** )p* )p** )* )**++8+L+|++ JH+ JH+++, JX, JX,,,H,\ Jp,` Jp,d,l ),p ),t,| *@, *@,, *, *,, *(, *(,, *`, *`,, J, J,, J, J,, J, J,, +, +,, +- +-- +- +-- +- +-$-,-d- ,- ,-- ,(- ,(--- J- J--.T ,P.X ,P.\.d.. J. J./J/L/J/$/,/4/8W /<W /@2/HW /L/TW /X/` K/d(/h K/l K /p H/t K /xm/| H/ // /o/Q/ KX/ KX/m/ H/ ,/ ,/m/ H/ / / / p// /o/Q0~0,0~0(,00C 04 08C 0<j0@ 0XK 0\ !0`K 0d !0h0pz 0t !0x !0|z 00C 0j0 0 K0 K0 p0  0  060 p0000~1 ,1~1$,1,~1<,1L+1\ 1`j1dC 111+1 111111 p1 H2 K2 K2m2 H2 22 2 92$ 92(m2, H2428 2<o2DQ2P2\ K2` K2d H2hm2l H2t 2x2| 2o2Q222 L2 L2+222 #2j2 #33 3 L3$ L30+3< 3H3`3lj3p 3 3j3 3 3j3 H3 L 3 L 3m3 H3 33 3 LP3 LP3m4 H44  4 4 H4 4 m4$ H4, p40 44 p484< 4@o4HQ4P4X4`4h4p4x4 (4 (464 p4L444)4Y4 #h4u4 #h4n44Y4=55Y5]5,545L5d5|5 "5 "5 "5 "5K 5 #5 #5(5 H5 L5 L5m5 H5 55 6 p6 p66  6 ,6 ,6m6 H6$6( 6,o64Q6@ p6D 96H 96LR6P p6\6l6pK 6tz 6xz 6|66C 66W 6W 626W 66W 66W 66N 6N 6 066 06)7Y7 7u7 7 Y7( 7,u70 7<Y7D 7Hu7L 7XY7` 7du7h 7tY7| 7u7 7Y7 87u7 87Y7 `7u7 `7Y7 x7u7 x7Y7 7u7 8Y8 8 u8 8Y8$ 8(u8, 88Y8@ 8Du8H 8TY8\ 8`u8d 8pY8x  8|u8  8Y8 88u8 88Y8 X8u8 X8Y8 L8u8 L8Y8 L8u8 L8Y9 L9u9 L9Y9 L9$u9( L94Y9< L9@u9D L9PY9X L9\u9` L9lY9t L9xu9| L9Y9 L9u9 L9Y9 L9u9 L9Y9 L9u9 L9Y9 L9u9 L9Y: M:u: M:Y: M: u:$ M:0Y:8 M:<u:@ M:LY:T M:Xu:\ M:hY:p M(:tu:x M(:Y: M8:u: M8:Y: :u: :Y: :u: :Y: :u: :Y: ;u; ;Y; ;u; ;,Y;4 ;8u;< ;HY;P ;Tu;X ;dY;l 0;pu;t 0;Y; H;u; H;Y; `;u; `;Y; x;u; x;Y; ;u; ;Y; ;u< < Y< <u< <(Y<0 <4u<8 Y>> Y>(>4Y><>LY>T>dY>l>|Y>>Y>>Y>>Y>>Y>>Y>?Y? ?Y? ?0Y?8?HY?P?`Y?h?tY?|?Y??Y??Y??Y??Y??Y@@ Y@@$Y@,@8Y@@@LY@T@`Y@h@xY@@Y@@Y@@Y@@Y@@Y@AYAAYA A0YA8AHYAPA`YAhAtYA|AYAAYAAYAAYAA~A,A~B,BC BC B BjB B4 !B8K B< !B@K BDBL !BPz BT !BXz B\BtC BxC B| BjB B MHB MHB MB MB HBmB HB BB BoBQBBB pB  B  B6B pCCC C,~C<,CD~CT,C\~Cl,Ct~C,C~C,C C CC CjCC C C CC CjCC C `CC `DjD D0+DHDd+Dt `Dx `D|jDDD DjD DD MDEE HE$ ME( ME,mE0 HE8 E<E@ ED pEH pELEP ET ,EX ,E\mE` HEhEl EpoExQEEEEEEE HE ME MEmE HE EE E 9E 9EmE HEE EoFQF F MFF$F`FhF+F hF hFjF N0F N0FFF F FjFGG +G@ GD GHjGX NHG\-Gd NPGp NPGt NhGx NhGG NHGjG $pG $pGjG NG G GjG NG NGG G HG HmH HH pH H pHH H oH(QH0H8H@HHHPHXH`HhHtH pH (H (H6H pH HHLHHHHW HW HHW HHW H2HN HN H 0IjI I 0I( I, 0I0jI@ NID NIPI+II I hI hIjI N0I N0III I IjJ J -J NPJ NPJ$ NhJ( NhJ0J@ JDjJT NHJX-JlJt NJ NJJ )J )J NJ NJJJJJJJJJK K NHK jK $pK $pK$jK4 NK8 K< K@jKP KT-K\ NKh NKl OKp OKxSK MK MKmK HK KK K pK pKK K ,K ,KK 0K pKjK K-K )K )L OL OL SL L L$jL4 PL8-LLLT NL` NLdLl )Lx )L| NL NLL LC LjLC L O8LRL O8L L NL LjL NL NLM M jM M -M( +M4 +M8 OXM< OXMDSMT PMXjMl OpMp OpMtM pMjM M-M )M )M OM OMSM !M !MM M MjN 0N !N 0N jN0 NN4 NN@NT NNd `Nh `NljNt ON ONN ON ONjN ON ON PN PNjN OpN OpNN !OO xO xOjO, O0-O@ OOD *(OH *(OPSO` `Od `OhjOp OO| OOO OOSO OjO O-O *O *O OO OOSO OO OPjP OP OP P jP4 OP8 OP<PL xPP xPTjPd Ph-Px OP| *(P *(PSP P PjP PP PPP OPSP PjP P-Q *Q *Q OQ OQ SQ0 P(Q4 P(Q8jQH P@QL PXQT PXQX Q\jQp OQt OQxQ P@QjQ PpQ PpQ Q QjQ Q-Q PQ PQ (Q (QSQ Q QjR PR PRR( R,jR<  R@-RH PRT PRX (R\ (RdSRt P(Rx P(R|jR P@R PXR PXR-R PR PR-R PR PR-R +R +RSR  SjS 8S-S$ PS( JpS, JpS4SSD P@SHjSP PpS\ PpS` Sd ShjSx S|-S PS PS (S (SSS PSSS 8SjS HS <S HSjT PT QT PTjT, `T0-T8 QTD QTH Q0TL Q0TTTd `ThjTx pT|-T QHT QHT Q`T Q`T TjT  T-T PT PT (T (TST <TU QU U-U$ PU0 PU4-U< PUH PUL-U` +Ud +UlSU|  UjU 8U-U PU JpU JpUSU U UjU U-U *@U *@U QxU QxVSV VjV( V,-V PVSV 8VjV HV <V HVjV PW QW PWjW `W$-W, QW8 QW< Q0W@ Q0WHWX `W\jWl pWp-Wx QHW QHW Q`W Q`WX XjX QX$ QX,X< <XDXT XX X\jXl Xp-Xx *@X *@X QxX QxXSX XjX X-Y4 QY<YL YP YTjYd QYh QYpY YjY QZ QZZ Z Z jZ0 QZ4 QZ<ZL ZPjZ` QZd QZlZ| QZ QZjZ QZZ QZ QZjZ RZZ RZ RZjZ R(Z[ R@[ R([ R([j[$ R`[([@ Rp[D R`[H R`[Lj[\ R[d R[h[t[|[Y[[ [ Rp[[[ [ [[ [ R[ R[j[ R[ R\\ \\ Y\0 \4j\D Q\H Q\P\` R\h R\l\x\\ \ \ R\ R\\\\ \ \ \ \j\ \-]T R@]\]h]pF ]tF ] Q] Q]j] Q]] Q] Q]j] S]] S] S]j] R]-] S0^ S0^ +^ +^ +^ +^$S^4 R^< R^@^L^T^\ ^d ^h R^p R^t^^^ ^ ^ ^j^ ^-^ SP^ SP^S^ R^j^ R(^_ R(_ R(_j_ R`_$_4 Rp_8 R`_< R`_@j_P R_X R_\_h_p_|Y__ R@_ R@___F _F __ Rp___ _ ` `j` `-`( +`, OX`0 OX`8S`H R`L R`Pj`` R`h R`l`x``Y` +`S` `j` S`` S``` ` `j` a-ap at axja Spa Spaa +a +aSa aja a-a SPa SPaSb b b jb Sb$ Sb,bD bHjbX S`b\ S`bdbt bx b|jb Spb Spbb b bjb Sb Sbb `b `bjb Hcc+c0 Hc4jcHcdwclQct)cYc !0cuc !0cW cW  0 4L Ph lx   h  |  G, 0ItH LQd hSD \ a f r { |4( ,D H` d8p th    `  h4 8\P Tl pX d P 0    h$ (@ DP T` d|  `     $ (@ D L\ ` tx |( / 6 c`as: Sun WorkShop 6 update 2 Compiler Common 6.2 Solaris_9_CBE 2001/04/02 GCC: (GNU) 3.4.14 6i:%m*ԥ1Ac7t <xB6SJWg v< L  0#X    Tt  (      \0707010001dbec000081a400000002000000020000000140d231c400018600000000200000000000000000000000000000001400000000reloc/src/dialogs.c/* * GProFTPD - A GTK+ frontend for the ProFTPD standalone server. * Copyright (C) 2001, 2002, 2003 Magnus-swe * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * */ #ifdef HAVE_CONFIG_H # include #endif #include #include "callbacks.h" #include "dialogs.h" #include "support.h" #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) GtkWidget* create_help_window (void) { gchar *help_text; GtkWidget *help_window, *vbox15, *scrolledwindow16; GtkWidget *help_textview, *close_help_button; GtkWidget *alignment19, *hbox52, *image19, *label109; help_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (help_window, "help_window"); gtk_widget_set_size_request (help_window, 650, 350); gtk_window_set_title (GTK_WINDOW (help_window), _("GProftpd help")); gtk_window_set_position (GTK_WINDOW (help_window), GTK_WIN_POS_CENTER); vbox15 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox15, "vbox15"); gtk_widget_show (vbox15); gtk_container_add (GTK_CONTAINER (help_window), vbox15); scrolledwindow16 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow16, "scrolledwindow16"); gtk_widget_show (scrolledwindow16); gtk_box_pack_start (GTK_BOX (vbox15), scrolledwindow16, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow16), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); help_textview = gtk_text_view_new (); gtk_widget_set_name (help_textview, "help_textview"); gtk_widget_show (help_textview); gtk_container_add (GTK_CONTAINER (scrolledwindow16), help_textview); gtk_text_view_set_editable (GTK_TEXT_VIEW (help_textview), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (help_textview), FALSE); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (help_textview), 30); gtk_text_view_set_right_margin (GTK_TEXT_VIEW (help_textview), 10); help_text = g_strconcat( _("\nWhen gproftpd is started it checks if you have all required files and that the environment is ok.\n\n"), _("If you have just upgraded you should check out the homepage if any additions to the configuration are\n"), _("necessary in order to take full advantage of all its features.\n\n"), _("Proftpd must be installed and located somewhere in the environments path variable\n\n\n"), _("When you add a user you can randomize its name and password or use your own.\n"), _("You can also select its login shell and where this user should have its root directory and upload directory.\n"), _("If the selected shell is /bin/false, /sbin/nologin etc the user can only login to this ftpserver otherwise\n"), _("that user gets a private home directory as well as its ftp directory and can login via ssh etc if that server\n"), _("allows this user to do so.\n\n"), _("The upload directory must be located below the users root directory.\n"), _("If you dont want that user to have an upload directory you can uncheck the checkbox next to it.\n\n"), _("If you want to add directories thats not under the users root directory you can do this:\n\n"), _("Linux (as of kernel 2.4.0):\n"), _("mount --bind /some/directory/to/share /home/ftp/make_this_directory_first\n\n"), _("Alternatively:\nmount -o bind /var/data /home/ftp/bob/data\n\n"), _("*BSD (as of 4.4BSD):\nmount_null /var/data /home/ftp/bob/data\n\n"), _("Solaris:\nmount -F lofs /var/data /home/ftp/bob/data\n\n"), _("If you want automatically generated statistics you can use gprostats with crond\n"), _("or press the welcome and html statistics buttons in the files tab to make them once.\n\n"), _("With crond and gprostats you can do this to have it automatically update the statistics:\n"), _("gprostats -html /path/to/output.html\ngprostats -w welcome.msg\n"), _("or both at the same time: gprostats -html /path/to/output.html -w welcome.msg\n"), _("Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to.\n\n"), _("If you have made customized welcome messages and dont want them overwritten\n"), _("by gprostats you can configure this by doubleclicking a user and unchecking update statistics.\n"), _("then pressing the change button, this will also exclude the user from the html output.\n\n"), _("Some typical setups:\n\nIf one or more of your users needs to have upload access to a http servers directory:\n\n"), _("1. Set the users ftp root directory to the webserver's root directory /var/www/html\n"), _(" or /var/www/html/this_users_directory for a private homepage.\n\n"), _("2. Take away all text from the upload directory field\n\n"), _("3. Make sure the checkbutton next to the upload directory is checked.\n"), _(" Press the add button to add this user.\n\n"), _("4. You can now login as this user and upload to the html directory.\n\n\n"), _("To add anonymous readonly access to a directory you can do this:\n\n"), _("1. Type anonymous in the username field. \n"), _(" Press the password randomize button or type any password you want.\n"), _(" Select the /bin/false shell.\n"), _(" Uncheck the upload checkbutton, this is important.\n"), _(" Press add to add this anonymous user.\n\n"), _("2. Doubleclick that user in the users tab and set require password to off then\n"), _(" check that this user isnt banned then press the change button.\n\n"), _("4. You can now login as anonymous with no password.\n\n\n"), _("This is the default setting, one upload directory and a readonly ftp root directory:\n"), _("Root directory: /home/ftp\n"), _("Upload directory /home/ftp/upload\n\n"), _("The users can then upload files in the upload directory and download from the\n"), _("ftp root directory where you can put what you want to share.\n\n"), _("You can easily add more servers to run on different interfaces and ports.\n"), _("When a user connects to one address and port it gets access according to that servers\n"), _("configuration but only if the server is selected to bind to addresses.\n"), _("There are two directives used for this:\nBind and SocketBindTight.\n"), _("If you want to turn off a server without deleting it you can set its port value to 0\n\n"), _("If this Proftpd server is behind a NAT gateway you should specify the gateways\n"), _("DNS name or IP address otherwise turn it off.\n\n"), _("If you copy or move a file directly to the ftpservers directory you may need to\n"), _("chmod it with 644 and chmod directories to 755 so that the directory and file can be accessed.\n\n"), _("This is one way of chmodding all files recursively in the directory /home/ftp:\n"), _("find /home/ftp -type f -exec chmod 644 -v {} \\;\n\n"), _("Upload directories should have a chmod of 777 and this can be used for /home/ftp/upload\n"), _("find /home/ftp/upload -type d -exec chmod 777 -v {} \\;\n\n\n"), _("For more detailed information about the server and its configuration directives visit:\n"), _("http://www.proftpd.org\n"), NULL); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (help_textview)), help_text, -1); if( help_text!=NULL ) g_free(help_text); close_help_button = gtk_button_new (); gtk_widget_set_name (close_help_button, "close_help_button"); gtk_widget_show (close_help_button); gtk_box_pack_start (GTK_BOX (vbox15), close_help_button, FALSE, FALSE, 0); alignment19 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment19, "alignment19"); gtk_widget_show (alignment19); gtk_container_add (GTK_CONTAINER (close_help_button), alignment19); hbox52 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox52, "hbox52"); gtk_widget_show (hbox52); gtk_container_add (GTK_CONTAINER (alignment19), hbox52); image19 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image19, "image19"); gtk_widget_show (image19); gtk_box_pack_start (GTK_BOX (hbox52), image19, FALSE, FALSE, 0); label109 = gtk_label_new_with_mnemonic (_("Close")); gtk_widget_set_name (label109, "label109"); gtk_widget_show (label109); gtk_box_pack_start (GTK_BOX (hbox52), label109, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label109), GTK_JUSTIFY_LEFT); g_signal_connect_swapped ((gpointer) close_help_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (help_window)); GLADE_HOOKUP_OBJECT_NO_REF (help_window, help_window, "help_window"); GLADE_HOOKUP_OBJECT (help_window, help_textview, "help_textview"); GLADE_HOOKUP_OBJECT (help_window, close_help_button, "close_help_button"); return help_window; } GtkWidget* create_shutdown_window (void) { GtkWidget *shutdown_window, *vbox17, *label141; GtkWidget *hseparator35, *hbox134, *label146; GtkWidget *real_shutdown_entry, *label251; GtkWidget *hbox78, *label142; GtkWidget *new_acc_disabled_entry, *label144; GtkWidget *hbox79, *label145, *exist_users_dc_entry; GtkWidget *label148, *hbox81, *label147; GtkWidget *shutdown_msg1_entry, *label152; GtkWidget *hseparator49, *label252, *hseparator34; GtkWidget *hbuttonbox9, *shutdown_cancel_button; GtkWidget *alignment37, *hbox83, *image37; GtkWidget *label154, *shutdown_ok_button; GtkWidget *alignment36, *hbox82; GtkWidget *image36, *label153; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); shutdown_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (shutdown_window, "shutdown_window"); gtk_container_set_border_width (GTK_CONTAINER (shutdown_window), 5); gtk_window_set_title (GTK_WINDOW (shutdown_window), _("Shutdown")); gtk_window_set_position (GTK_WINDOW (shutdown_window), GTK_WIN_POS_CENTER); vbox17 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox17, "vbox17"); gtk_widget_show (vbox17); gtk_container_add (GTK_CONTAINER (shutdown_window), vbox17); label141 = gtk_label_new (_("The server will shut down according to these settings.")); gtk_widget_set_name (label141, "label141"); gtk_widget_show (label141); gtk_box_pack_start (GTK_BOX (vbox17), label141, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label141), GTK_JUSTIFY_LEFT); hseparator35 = gtk_hseparator_new (); gtk_widget_set_name (hseparator35, "hseparator35"); gtk_widget_show (hseparator35); gtk_box_pack_start (GTK_BOX (vbox17), hseparator35, TRUE, TRUE, 0); gtk_widget_set_size_request (hseparator35, -1, 5); hbox134 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox134, "hbox134"); gtk_widget_show (hbox134); gtk_box_pack_start (GTK_BOX (vbox17), hbox134, TRUE, TRUE, 0); label146 = gtk_label_new (_("Time to real shutdown:")); gtk_widget_set_name (label146, "label146"); gtk_widget_show (label146); gtk_box_pack_start (GTK_BOX (hbox134), label146, FALSE, FALSE, 0); gtk_widget_set_size_request (label146, 260, -1); gtk_label_set_justify (GTK_LABEL (label146), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label146), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label146), 10, 0); real_shutdown_entry = gtk_entry_new (); gtk_widget_set_name (real_shutdown_entry, "real_shutdown_entry"); gtk_widget_show (real_shutdown_entry); gtk_box_pack_start (GTK_BOX (hbox134), real_shutdown_entry, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, real_shutdown_entry, _("now, +Minutes or HHMM"), NULL); gtk_entry_set_max_length (GTK_ENTRY (real_shutdown_entry), 1000); gtk_entry_set_text (GTK_ENTRY (real_shutdown_entry), "+30"); label251 = gtk_label_new (""); gtk_widget_set_name (label251, "label251"); gtk_widget_show (label251); gtk_box_pack_start (GTK_BOX (hbox134), label251, FALSE, FALSE, 0); gtk_widget_set_size_request (label251, 80, 16); gtk_label_set_justify (GTK_LABEL (label251), GTK_JUSTIFY_LEFT); hbox78 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox78, "hbox78"); gtk_widget_show (hbox78); gtk_box_pack_start (GTK_BOX (vbox17), hbox78, TRUE, TRUE, 0); label142 = gtk_label_new (_("New access disabled:")); gtk_widget_set_name (label142, "label142"); gtk_widget_show (label142); gtk_box_pack_start (GTK_BOX (hbox78), label142, FALSE, FALSE, 0); gtk_widget_set_size_request (label142, 260, -1); gtk_label_set_justify (GTK_LABEL (label142), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label142), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label142), 10, 0); new_acc_disabled_entry = gtk_entry_new (); gtk_widget_set_name (new_acc_disabled_entry, "new_acc_disabled_entry"); gtk_widget_show (new_acc_disabled_entry); gtk_box_pack_start (GTK_BOX (hbox78), new_acc_disabled_entry, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, new_acc_disabled_entry, _("Minutes before real shutdown."), NULL); gtk_entry_set_max_length (GTK_ENTRY (new_acc_disabled_entry), 1000); gtk_entry_set_text (GTK_ENTRY (new_acc_disabled_entry), "20"); label144 = gtk_label_new (""); gtk_widget_set_name (label144, "label144"); gtk_widget_show (label144); gtk_box_pack_start (GTK_BOX (hbox78), label144, FALSE, FALSE, 0); gtk_widget_set_size_request (label144, 80, 16); gtk_label_set_justify (GTK_LABEL (label144), GTK_JUSTIFY_LEFT); hbox79 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox79, "hbox79"); gtk_widget_show (hbox79); gtk_box_pack_start (GTK_BOX (vbox17), hbox79, TRUE, TRUE, 0); label145 = gtk_label_new (_("Existing users disconnected:")); gtk_widget_set_name (label145, "label145"); gtk_widget_show (label145); gtk_box_pack_start (GTK_BOX (hbox79), label145, FALSE, FALSE, 0); gtk_widget_set_size_request (label145, 260, -1); gtk_label_set_justify (GTK_LABEL (label145), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label145), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label145), 10, 0); exist_users_dc_entry = gtk_entry_new (); gtk_widget_set_name (exist_users_dc_entry, "exist_users_dc_entry"); gtk_widget_show (exist_users_dc_entry); gtk_box_pack_start (GTK_BOX (hbox79), exist_users_dc_entry, FALSE, FALSE, 0); gtk_tooltips_set_tip (tooltips, exist_users_dc_entry, _("Minutes before real shutdown."), NULL); gtk_entry_set_max_length (GTK_ENTRY (exist_users_dc_entry), 1000); gtk_entry_set_text (GTK_ENTRY (exist_users_dc_entry), "10"); label148 = gtk_label_new (""); gtk_widget_set_name (label148, "label148"); gtk_widget_show (label148); gtk_box_pack_start (GTK_BOX (hbox79), label148, FALSE, FALSE, 0); gtk_widget_set_size_request (label148, 80, 16); gtk_label_set_justify (GTK_LABEL (label148), GTK_JUSTIFY_LEFT); hbox81 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox81, "hbox81"); gtk_widget_show (hbox81); gtk_box_pack_start (GTK_BOX (vbox17), hbox81, TRUE, TRUE, 0); label147 = gtk_label_new (_("Shutdown message:")); gtk_widget_set_name (label147, "label147"); gtk_widget_show (label147); gtk_box_pack_start (GTK_BOX (hbox81), label147, FALSE, FALSE, 0); gtk_widget_set_size_request (label147, 180, -1); gtk_label_set_justify (GTK_LABEL (label147), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label147), 0.01, 0.5); gtk_misc_set_padding (GTK_MISC (label147), 10, 0); shutdown_msg1_entry = gtk_entry_new (); gtk_widget_set_name (shutdown_msg1_entry, "shutdown_msg1_entry"); gtk_widget_show (shutdown_msg1_entry); gtk_box_pack_start (GTK_BOX (hbox81), shutdown_msg1_entry, TRUE, TRUE, 0); gtk_entry_set_max_length (GTK_ENTRY (shutdown_msg1_entry), 1000); gtk_entry_set_text (GTK_ENTRY (shutdown_msg1_entry), _("%s , Current connections will be dropped: %d")); label152 = gtk_label_new (""); gtk_widget_set_name (label152, "label152"); gtk_widget_show (label152); gtk_box_pack_start (GTK_BOX (hbox81), label152, FALSE, FALSE, 0); gtk_widget_set_size_request (label152, 10, 16); gtk_label_set_justify (GTK_LABEL (label152), GTK_JUSTIFY_LEFT); hseparator49 = gtk_hseparator_new (); gtk_widget_set_name (hseparator49, "hseparator49"); gtk_widget_show (hseparator49); gtk_box_pack_start (GTK_BOX (vbox17), hseparator49, TRUE, TRUE, 0); gtk_widget_set_size_request (hseparator49, -1, 10); label252 = gtk_label_new (_("Pressing the online button will let users login again.")); gtk_widget_set_name (label252, "label252"); gtk_widget_show (label252); gtk_box_pack_start (GTK_BOX (vbox17), label252, FALSE, FALSE, 0); gtk_widget_set_size_request (label252, 297, -1); gtk_label_set_justify (GTK_LABEL (label252), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label252), 0.04, 0.5); hseparator34 = gtk_hseparator_new (); gtk_widget_set_name (hseparator34, "hseparator34"); gtk_widget_show (hseparator34); gtk_box_pack_start (GTK_BOX (vbox17), hseparator34, TRUE, TRUE, 0); gtk_widget_set_size_request (hseparator34, -1, 10); hbuttonbox9 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox9, "hbuttonbox9"); gtk_widget_show (hbuttonbox9); gtk_box_pack_start (GTK_BOX (vbox17), hbuttonbox9, TRUE, TRUE, 0); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox9), GTK_BUTTONBOX_SPREAD); shutdown_cancel_button = gtk_button_new (); gtk_widget_set_name (shutdown_cancel_button, "shutdown_cancel_button"); gtk_widget_show (shutdown_cancel_button); gtk_container_add (GTK_CONTAINER (hbuttonbox9), shutdown_cancel_button); GTK_WIDGET_SET_FLAGS (shutdown_cancel_button, GTK_CAN_DEFAULT); alignment37 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment37, "alignment37"); gtk_widget_show (alignment37); gtk_container_add (GTK_CONTAINER (shutdown_cancel_button), alignment37); hbox83 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox83, "hbox83"); gtk_widget_show (hbox83); gtk_container_add (GTK_CONTAINER (alignment37), hbox83); image37 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image37, "image37"); gtk_widget_show (image37); gtk_box_pack_start (GTK_BOX (hbox83), image37, TRUE, TRUE, 0); label154 = gtk_label_new_with_mnemonic (_("Cancel")); gtk_widget_set_name (label154, "label154"); gtk_widget_show (label154); gtk_box_pack_start (GTK_BOX (hbox83), label154, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label154), GTK_JUSTIFY_LEFT); shutdown_ok_button = gtk_button_new (); gtk_widget_set_name (shutdown_ok_button, "shutdown_ok_button"); gtk_widget_show (shutdown_ok_button); gtk_container_add (GTK_CONTAINER (hbuttonbox9), shutdown_ok_button); GTK_WIDGET_SET_FLAGS (shutdown_ok_button, GTK_CAN_DEFAULT); alignment36 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment36, "alignment36"); gtk_widget_show (alignment36); gtk_container_add (GTK_CONTAINER (shutdown_ok_button), alignment36); hbox82 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox82, "hbox82"); gtk_widget_show (hbox82); gtk_container_add (GTK_CONTAINER (alignment36), hbox82); image36 = gtk_image_new_from_stock ("gtk-apply", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image36, "image36"); gtk_widget_show (image36); gtk_box_pack_start (GTK_BOX (hbox82), image36, TRUE, TRUE, 0); label153 = gtk_label_new_with_mnemonic (_("OK")); gtk_widget_set_name (label153, "label153"); gtk_widget_show (label153); gtk_box_pack_start (GTK_BOX (hbox82), label153, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label153), GTK_JUSTIFY_LEFT); g_signal_connect_swapped ((gpointer) shutdown_cancel_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (shutdown_window)); g_signal_connect ((gpointer) shutdown_ok_button, "clicked", G_CALLBACK (on_shutdown_ok_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (shutdown_window, shutdown_window, "shutdown_window"); GLADE_HOOKUP_OBJECT (shutdown_window, real_shutdown_entry, "real_shutdown_entry"); GLADE_HOOKUP_OBJECT (shutdown_window, new_acc_disabled_entry, "new_acc_disabled_entry"); GLADE_HOOKUP_OBJECT (shutdown_window, exist_users_dc_entry, "exist_users_dc_entry"); GLADE_HOOKUP_OBJECT (shutdown_window, shutdown_msg1_entry, "shutdown_msg1_entry"); GLADE_HOOKUP_OBJECT (shutdown_window, shutdown_cancel_button, "shutdown_cancel_button"); GLADE_HOOKUP_OBJECT (shutdown_window, shutdown_ok_button, "shutdown_ok_button"); GLADE_HOOKUP_OBJECT_NO_REF (shutdown_window, tooltips, "tooltips"); return shutdown_window; } GtkWidget* create_info_window (void) { GtkWidget *info_window, *scrolledwindow15, *info_textview; info_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (info_window, "info_window"); gtk_widget_set_size_request (info_window, 400, 150); gtk_window_set_title (GTK_WINDOW (info_window), _("GProFTPD information")); gtk_window_set_position (GTK_WINDOW (info_window), GTK_WIN_POS_CENTER); scrolledwindow15 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow15, "scrolledwindow15"); gtk_widget_show (scrolledwindow15); gtk_container_add (GTK_CONTAINER (info_window), scrolledwindow15); gtk_widget_set_size_request (scrolledwindow15, 350, 200); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow15), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); info_textview = gtk_text_view_new (); gtk_widget_set_name (info_textview, "info_textview"); gtk_widget_show (info_textview); gtk_container_add (GTK_CONTAINER (scrolledwindow15), info_textview); gtk_widget_set_size_request (info_textview, 350, 200); gtk_text_view_set_editable (GTK_TEXT_VIEW (info_textview), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (info_textview), FALSE); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (info_textview), 10); g_signal_connect ((gpointer) info_window, "map", G_CALLBACK (on_info_window_map), NULL); GLADE_HOOKUP_OBJECT_NO_REF (info_window, info_window, "info_window"); GLADE_HOOKUP_OBJECT (info_window, info_textview, "info_textview"); return info_window; } GtkWidget* create_user_settings_window (void) { GtkWidget *user_settings_window, *vbox16, *label349; GtkWidget *scrolledwindow19, *viewport4, *vbox54; GtkWidget *hseparator103, *changer_rootdir_hbox; GtkWidget *label350, *vbox55, *label113, *label139; GtkWidget *label115, *label233, *label175, *label235; GtkWidget *label131, *label117, *label301, *label371; GtkWidget *label351, *vbox56, *settings_username_entry; GtkWidget *settings_password_entry, *settings_group_entry; GtkWidget *combo17; GList *combo17_items = NULL; GtkWidget *settings_require_password_entry; GtkWidget *settings_login_from_entry; GtkObject *settings_max_logins_spinbutton_adj; GtkWidget *settings_max_logins_spinbutton; GtkWidget *settings_max_logins_entry; GtkWidget *settings_homedirectory_entry; GtkWidget *gplock_checkbutton; GtkWidget *banned_checkbutton; GtkWidget *label352; GtkWidget *changer_rootdir_hseparator; GtkWidget *uploaddir_vbox, *hbox248, *label363; GtkWidget *label217, *label354; GtkWidget *settings_uploaddirectory_entry; GtkWidget *label355, *hbox249, *label356, *label244; GtkWidget *label357, *hbox250, *label358, *vbox58; GtkWidget *hbox251, *vbox60; GtkWidget *label222, *label223, *label231, *label224; GtkWidget *label226, *label237, *label225, *label230; GtkWidget *label364, *label361, *vbox61; GtkWidget *uldir_list_checkbutton; GtkWidget *uldir_upload_checkbutton; GtkWidget *uldir_append_checkbutton; GtkWidget *uldir_download_checkbutton; GtkWidget *uldir_rename_checkbutton; GtkWidget *uldir_delete_checkbutton; GtkWidget *uldir_createdir_checkbutton; GtkWidget *uldir_removedir_checkbutton; GtkWidget *label359, *vbox59, *hbox252; GtkWidget *vbox62, *label229, *label239; GtkWidget *label241, *label242, *label243; GtkWidget *label238, *label247, *label249; GtkWidget *label248, *label362, *vbox63; GtkWidget *uldir_site_checkbutton; GtkWidget *uldir_showdate_checkbutton; GtkWidget *uldir_showwd_checkbutton; GtkWidget *uldir_showsize_checkbutton; GtkWidget *uldir_changewd_checkbutton; GtkWidget *uldir_chmod_checkbutton; GtkWidget *uldir_chgrp_checkbutton; GtkWidget *uldir_cdup_checkbutton; GtkWidget *uldir_stat_checkbutton; GtkWidget *label360, *hseparator101, *hseparator32; GtkWidget *hbuttonbox3, *userdel_button, *alignment29; GtkWidget *hbox64, *image29, *label124, *userchange_button; GtkWidget *alignment28, *hbox63, *image28, *label123; GtkWidget *close_user_settings_button, *alignment26; GtkWidget *hbox61, *image26, *label121, *label365; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); user_settings_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (user_settings_window, "user_settings_window"); gtk_widget_set_size_request (user_settings_window, 550, 409); gtk_window_set_title (GTK_WINDOW (user_settings_window), _("User settings")); gtk_window_set_position (GTK_WINDOW (user_settings_window), GTK_WIN_POS_CENTER); vbox16 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox16, "vbox16"); gtk_widget_show (vbox16); gtk_container_add (GTK_CONTAINER (user_settings_window), vbox16); label349 = gtk_label_new (_("These are the settings for this user.")); gtk_widget_set_name (label349, "label349"); gtk_widget_show (label349); gtk_box_pack_start (GTK_BOX (vbox16), label349, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label349), GTK_JUSTIFY_LEFT); gtk_misc_set_padding (GTK_MISC (label349), 0, 3); scrolledwindow19 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow19, "scrolledwindow19"); gtk_widget_show (scrolledwindow19); gtk_box_pack_start (GTK_BOX (vbox16), scrolledwindow19, TRUE, TRUE, 0); viewport4 = gtk_viewport_new (NULL, NULL); gtk_widget_set_name (viewport4, "viewport4"); gtk_widget_show (viewport4); gtk_container_add (GTK_CONTAINER (scrolledwindow19), viewport4); vbox54 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox54, "vbox54"); gtk_widget_show (vbox54); gtk_container_add (GTK_CONTAINER (viewport4), vbox54); hseparator103 = gtk_hseparator_new (); gtk_widget_set_name (hseparator103, "hseparator103"); gtk_widget_show (hseparator103); gtk_box_pack_start (GTK_BOX (vbox54), hseparator103, TRUE, TRUE, 0); gtk_widget_set_size_request (hseparator103, -1, 10); changer_rootdir_hbox = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (changer_rootdir_hbox, "changer_rootdir_hbox"); gtk_widget_show (changer_rootdir_hbox); gtk_box_pack_start (GTK_BOX (vbox54), changer_rootdir_hbox, TRUE, TRUE, 0); label350 = gtk_label_new (""); gtk_widget_set_name (label350, "label350"); gtk_widget_show (label350); gtk_box_pack_start (GTK_BOX (changer_rootdir_hbox), label350, FALSE, FALSE, 0); gtk_widget_set_size_request (label350, 30, -1); gtk_label_set_justify (GTK_LABEL (label350), GTK_JUSTIFY_LEFT); vbox55 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox55, "vbox55"); gtk_widget_show (vbox55); gtk_box_pack_start (GTK_BOX (changer_rootdir_hbox), vbox55, TRUE, TRUE, 0); label113 = gtk_label_new (_("Username: ")); gtk_widget_set_name (label113, "label113"); gtk_widget_show (label113); gtk_box_pack_start (GTK_BOX (vbox55), label113, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label113), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label113), 0, 0.5); label139 = gtk_label_new (_("Password: ")); gtk_widget_set_name (label139, "label139"); gtk_widget_show (label139); gtk_box_pack_start (GTK_BOX (vbox55), label139, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label139), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label139), 0, 0.5); label115 = gtk_label_new (_("Group: ")); gtk_widget_set_name (label115, "label115"); gtk_widget_show (label115); gtk_box_pack_start (GTK_BOX (vbox55), label115, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label115), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label115), 0, 0.5); label233 = gtk_label_new (_("Require password:")); gtk_widget_set_name (label233, "label233"); gtk_widget_show (label233); gtk_box_pack_start (GTK_BOX (vbox55), label233, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label233), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label233), 0, 0.5); label175 = gtk_label_new (_("Allow logins from:")); gtk_widget_set_name (label175, "label175"); gtk_widget_show (label175); gtk_box_pack_start (GTK_BOX (vbox55), label175, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label175), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label175), 0, 0.5); label235 = gtk_label_new (_("Maximum logins: ")); gtk_widget_set_name (label235, "label235"); gtk_widget_show (label235); gtk_box_pack_start (GTK_BOX (vbox55), label235, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label235), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label235), 0, 0.5); label131 = gtk_label_new (_("Message: ")); gtk_widget_set_name (label131, "label131"); gtk_widget_show (label131); gtk_box_pack_start (GTK_BOX (vbox55), label131, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label131), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label131), 0, 0.5); label117 = gtk_label_new (_("Root directory: ")); gtk_widget_set_name (label117, "label117"); gtk_widget_show (label117); gtk_box_pack_start (GTK_BOX (vbox55), label117, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label117), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label117), 0, 0.5); label301 = gtk_label_new (_("Update statistics:")); gtk_widget_set_name (label301, "label301"); gtk_widget_show (label301); gtk_box_pack_start (GTK_BOX (vbox55), label301, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label301), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label301), 0, 0.5); label371 = gtk_label_new (_("Banned:")); gtk_widget_set_name (label371, "label371"); gtk_widget_show (label371); gtk_box_pack_start (GTK_BOX (vbox55), label371, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label371), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label371), 0, 0.5); label351 = gtk_label_new (""); gtk_widget_set_name (label351, "label351"); gtk_widget_show (label351); gtk_box_pack_start (GTK_BOX (changer_rootdir_hbox), label351, FALSE, FALSE, 0); gtk_widget_set_size_request (label351, 30, -1); gtk_label_set_justify (GTK_LABEL (label351), GTK_JUSTIFY_LEFT); vbox56 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox56, "vbox56"); gtk_widget_show (vbox56); gtk_box_pack_start (GTK_BOX (changer_rootdir_hbox), vbox56, TRUE, TRUE, 0); settings_username_entry = gtk_entry_new (); gtk_widget_set_name (settings_username_entry, "settings_username_entry"); gtk_widget_show (settings_username_entry); gtk_box_pack_start (GTK_BOX (vbox56), settings_username_entry, TRUE, TRUE, 0); gtk_widget_set_sensitive (settings_username_entry, FALSE); gtk_entry_set_max_length (GTK_ENTRY (settings_username_entry), 128); gtk_editable_set_editable (GTK_EDITABLE (settings_username_entry), FALSE); settings_password_entry = gtk_entry_new (); gtk_widget_set_name (settings_password_entry, "settings_password_entry"); gtk_widget_show (settings_password_entry); gtk_box_pack_start (GTK_BOX (vbox56), settings_password_entry, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, settings_password_entry, _("Type a password longer then 6 chars to change."), NULL); gtk_entry_set_max_length (GTK_ENTRY (settings_password_entry), 128); settings_group_entry = gtk_entry_new (); gtk_widget_set_name (settings_group_entry, "settings_group_entry"); gtk_widget_show (settings_group_entry); gtk_box_pack_start (GTK_BOX (vbox56), settings_group_entry, TRUE, TRUE, 0); gtk_entry_set_max_length (GTK_ENTRY (settings_group_entry), 128); combo17 = gtk_combo_new (); g_object_set_data (G_OBJECT (GTK_COMBO (combo17)->popwin), "GladeParentKey", combo17); gtk_widget_set_name (combo17, "combo17"); gtk_widget_show (combo17); gtk_box_pack_start (GTK_BOX (vbox56), combo17, FALSE, FALSE, 0); gtk_widget_set_size_request (combo17, 88, -1); combo17_items = g_list_append (combo17_items, (gpointer) _("yes")); combo17_items = g_list_append (combo17_items, (gpointer) _("no")); gtk_combo_set_popdown_strings (GTK_COMBO (combo17), combo17_items); g_list_free (combo17_items); settings_require_password_entry = GTK_COMBO (combo17)->entry; gtk_widget_set_name (settings_require_password_entry, "settings_require_password_entry"); gtk_widget_show (settings_require_password_entry); gtk_widget_set_sensitive (settings_require_password_entry, FALSE); settings_login_from_entry = gtk_entry_new (); gtk_widget_set_name (settings_login_from_entry, "settings_login_from_entry"); gtk_widget_show (settings_login_from_entry); gtk_box_pack_start (GTK_BOX (vbox56), settings_login_from_entry, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, settings_login_from_entry, _("all,none,192.168.0.,host.domain.edu,.trusted-domain.org"), NULL); gtk_entry_set_max_length (GTK_ENTRY (settings_login_from_entry), 1000); settings_max_logins_spinbutton_adj = gtk_adjustment_new (1, 1, 999999, 1, 10, 10); settings_max_logins_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (settings_max_logins_spinbutton_adj), 1, 0); gtk_widget_set_name (settings_max_logins_spinbutton, "settings_max_logins_spinbutton"); gtk_widget_show (settings_max_logins_spinbutton); gtk_box_pack_start (GTK_BOX (vbox56), settings_max_logins_spinbutton, TRUE, TRUE, 0); settings_max_logins_entry = gtk_entry_new (); gtk_widget_set_name (settings_max_logins_entry, "settings_max_logins_entry"); gtk_widget_show (settings_max_logins_entry); gtk_box_pack_start (GTK_BOX (vbox56), settings_max_logins_entry, TRUE, TRUE, 0); settings_homedirectory_entry = gtk_entry_new (); gtk_widget_set_name (settings_homedirectory_entry, "settings_homedirectory_entry"); gtk_widget_show (settings_homedirectory_entry); gtk_box_pack_start (GTK_BOX (vbox56), settings_homedirectory_entry, TRUE, TRUE, 0); gtk_entry_set_max_length (GTK_ENTRY (settings_homedirectory_entry), 1000); gplock_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (gplock_checkbutton, "gplock_checkbutton"); gtk_widget_show (gplock_checkbutton); gtk_box_pack_start (GTK_BOX (vbox56), gplock_checkbutton, FALSE, FALSE, 0); banned_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (banned_checkbutton, "banned_checkbutton"); gtk_widget_show (banned_checkbutton); gtk_box_pack_start (GTK_BOX (vbox56), banned_checkbutton, FALSE, FALSE, 0); label352 = gtk_label_new (""); gtk_widget_set_name (label352, "label352"); gtk_widget_show (label352); gtk_box_pack_start (GTK_BOX (changer_rootdir_hbox), label352, FALSE, FALSE, 0); gtk_widget_set_size_request (label352, 30, -1); gtk_label_set_justify (GTK_LABEL (label352), GTK_JUSTIFY_LEFT); changer_rootdir_hseparator = gtk_hseparator_new (); gtk_widget_set_name (changer_rootdir_hseparator, "changer_rootdir_hseparator"); gtk_widget_show (changer_rootdir_hseparator); gtk_box_pack_start (GTK_BOX (vbox54), changer_rootdir_hseparator, FALSE, FALSE, 0); gtk_widget_set_size_request (changer_rootdir_hseparator, -1, 10); uploaddir_vbox = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (uploaddir_vbox, "uploaddir_vbox"); gtk_widget_show (uploaddir_vbox); gtk_box_pack_start (GTK_BOX (vbox54), uploaddir_vbox, TRUE, TRUE, 0); hbox248 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox248, "hbox248"); gtk_widget_show (hbox248); gtk_box_pack_start (GTK_BOX (uploaddir_vbox), hbox248, TRUE, TRUE, 0); label363 = gtk_label_new (""); gtk_widget_set_name (label363, "label363"); gtk_widget_show (label363); gtk_box_pack_start (GTK_BOX (hbox248), label363, FALSE, FALSE, 0); gtk_widget_set_size_request (label363, 30, -1); gtk_label_set_justify (GTK_LABEL (label363), GTK_JUSTIFY_LEFT); label217 = gtk_label_new (_("Upload directory:")); gtk_widget_set_name (label217, "label217"); gtk_widget_show (label217); gtk_box_pack_start (GTK_BOX (hbox248), label217, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label217), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label217), 0, 0.5); label354 = gtk_label_new (""); gtk_widget_set_name (label354, "label354"); gtk_widget_show (label354); gtk_box_pack_start (GTK_BOX (hbox248), label354, FALSE, FALSE, 0); gtk_widget_set_size_request (label354, 30, -1); gtk_label_set_justify (GTK_LABEL (label354), GTK_JUSTIFY_LEFT); settings_uploaddirectory_entry = gtk_entry_new (); gtk_widget_set_name (settings_uploaddirectory_entry, "settings_uploaddirectory_entry"); gtk_widget_show (settings_uploaddirectory_entry); gtk_box_pack_start (GTK_BOX (hbox248), settings_uploaddirectory_entry, TRUE, TRUE, 0); gtk_entry_set_max_length (GTK_ENTRY (settings_uploaddirectory_entry), 1000); label355 = gtk_label_new (""); gtk_widget_set_name (label355, "label355"); gtk_widget_show (label355); gtk_box_pack_start (GTK_BOX (hbox248), label355, FALSE, FALSE, 0); gtk_widget_set_size_request (label355, 30, -1); gtk_label_set_justify (GTK_LABEL (label355), GTK_JUSTIFY_LEFT); hbox249 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox249, "hbox249"); gtk_widget_show (hbox249); gtk_box_pack_start (GTK_BOX (uploaddir_vbox), hbox249, TRUE, TRUE, 0); label356 = gtk_label_new (""); gtk_widget_set_name (label356, "label356"); gtk_widget_show (label356); gtk_box_pack_start (GTK_BOX (hbox249), label356, FALSE, FALSE, 0); gtk_widget_set_size_request (label356, 30, -1); gtk_label_set_justify (GTK_LABEL (label356), GTK_JUSTIFY_LEFT); label244 = gtk_label_new (_("This user is permitted to do the following in this directory:")); gtk_widget_set_name (label244, "label244"); gtk_widget_show (label244); gtk_box_pack_start (GTK_BOX (hbox249), label244, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label244), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label244), 0, 0.5); label357 = gtk_label_new (""); gtk_widget_set_name (label357, "label357"); gtk_widget_show (label357); gtk_box_pack_start (GTK_BOX (hbox249), label357, FALSE, FALSE, 0); gtk_widget_set_size_request (label357, 30, -1); gtk_label_set_justify (GTK_LABEL (label357), GTK_JUSTIFY_LEFT); hbox250 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox250, "hbox250"); gtk_widget_show (hbox250); gtk_box_pack_start (GTK_BOX (uploaddir_vbox), hbox250, TRUE, TRUE, 0); label358 = gtk_label_new (""); gtk_widget_set_name (label358, "label358"); gtk_widget_show (label358); gtk_box_pack_start (GTK_BOX (hbox250), label358, FALSE, FALSE, 0); gtk_widget_set_size_request (label358, 30, -1); gtk_label_set_justify (GTK_LABEL (label358), GTK_JUSTIFY_LEFT); vbox58 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox58, "vbox58"); gtk_widget_show (vbox58); gtk_box_pack_start (GTK_BOX (hbox250), vbox58, TRUE, TRUE, 0); hbox251 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox251, "hbox251"); gtk_widget_show (hbox251); gtk_box_pack_start (GTK_BOX (vbox58), hbox251, TRUE, TRUE, 0); vbox60 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox60, "vbox60"); gtk_widget_show (vbox60); gtk_box_pack_start (GTK_BOX (hbox251), vbox60, FALSE, FALSE, 0); label222 = gtk_label_new (_("List:")); gtk_widget_set_name (label222, "label222"); gtk_widget_show (label222); gtk_box_pack_start (GTK_BOX (vbox60), label222, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label222), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label222), 0, 0.5); label223 = gtk_label_new (_("Upload:")); gtk_widget_set_name (label223, "label223"); gtk_widget_show (label223); gtk_box_pack_start (GTK_BOX (vbox60), label223, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label223), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label223), 0, 0.5); label231 = gtk_label_new (_("Append:")); gtk_widget_set_name (label231, "label231"); gtk_widget_show (label231); gtk_box_pack_start (GTK_BOX (vbox60), label231, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label231), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label231), 0, 0.5); label224 = gtk_label_new (_("Download:")); gtk_widget_set_name (label224, "label224"); gtk_widget_show (label224); gtk_box_pack_start (GTK_BOX (vbox60), label224, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label224), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label224), 0, 0.5); label226 = gtk_label_new (_("Rename:")); gtk_widget_set_name (label226, "label226"); gtk_widget_show (label226); gtk_box_pack_start (GTK_BOX (vbox60), label226, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label226), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label226), 0, 0.5); label237 = gtk_label_new (_("Delete:")); gtk_widget_set_name (label237, "label237"); gtk_widget_show (label237); gtk_box_pack_start (GTK_BOX (vbox60), label237, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label237), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label237), 0, 0.5); label225 = gtk_label_new (_("Create directory:")); gtk_widget_set_name (label225, "label225"); gtk_widget_show (label225); gtk_box_pack_start (GTK_BOX (vbox60), label225, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label225), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label225), 0, 0.5); label230 = gtk_label_new (_("Remove directory:")); gtk_widget_set_name (label230, "label230"); gtk_widget_show (label230); gtk_box_pack_start (GTK_BOX (vbox60), label230, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label230), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label230), 0, 0.5); label364 = gtk_label_new (""); gtk_widget_set_name (label364, "label364"); gtk_widget_show (label364); gtk_box_pack_start (GTK_BOX (vbox60), label364, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label364), GTK_JUSTIFY_LEFT); label361 = gtk_label_new (""); gtk_widget_set_name (label361, "label361"); gtk_widget_show (label361); gtk_box_pack_start (GTK_BOX (hbox251), label361, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label361), GTK_JUSTIFY_LEFT); vbox61 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox61, "vbox61"); gtk_widget_show (vbox61); gtk_box_pack_start (GTK_BOX (hbox251), vbox61, TRUE, TRUE, 0); uldir_list_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_list_checkbutton, "uldir_list_checkbutton"); gtk_widget_show (uldir_list_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_list_checkbutton, FALSE, FALSE, 0); uldir_upload_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_upload_checkbutton, "uldir_upload_checkbutton"); gtk_widget_show (uldir_upload_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_upload_checkbutton, FALSE, FALSE, 0); uldir_append_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_append_checkbutton, "uldir_append_checkbutton"); gtk_widget_show (uldir_append_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_append_checkbutton, FALSE, FALSE, 0); uldir_download_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_download_checkbutton, "uldir_download_checkbutton"); gtk_widget_show (uldir_download_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_download_checkbutton, FALSE, FALSE, 0); uldir_rename_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_rename_checkbutton, "uldir_rename_checkbutton"); gtk_widget_show (uldir_rename_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_rename_checkbutton, FALSE, FALSE, 0); uldir_delete_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_delete_checkbutton, "uldir_delete_checkbutton"); gtk_widget_show (uldir_delete_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_delete_checkbutton, FALSE, FALSE, 0); uldir_createdir_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_createdir_checkbutton, "uldir_createdir_checkbutton"); gtk_widget_show (uldir_createdir_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_createdir_checkbutton, FALSE, FALSE, 0); uldir_removedir_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_removedir_checkbutton, "uldir_removedir_checkbutton"); gtk_widget_show (uldir_removedir_checkbutton); gtk_box_pack_start (GTK_BOX (vbox61), uldir_removedir_checkbutton, FALSE, FALSE, 0); label359 = gtk_label_new (""); gtk_widget_set_name (label359, "label359"); gtk_widget_show (label359); gtk_box_pack_start (GTK_BOX (hbox250), label359, FALSE, FALSE, 0); gtk_widget_set_size_request (label359, 30, -1); gtk_label_set_justify (GTK_LABEL (label359), GTK_JUSTIFY_LEFT); vbox59 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox59, "vbox59"); gtk_widget_show (vbox59); gtk_box_pack_start (GTK_BOX (hbox250), vbox59, TRUE, TRUE, 0); hbox252 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox252, "hbox252"); gtk_widget_show (hbox252); gtk_box_pack_start (GTK_BOX (vbox59), hbox252, TRUE, TRUE, 0); vbox62 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox62, "vbox62"); gtk_widget_show (vbox62); gtk_box_pack_start (GTK_BOX (hbox252), vbox62, TRUE, TRUE, 0); label229 = gtk_label_new (_("Site:")); gtk_widget_set_name (label229, "label229"); gtk_widget_show (label229); gtk_box_pack_start (GTK_BOX (vbox62), label229, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label229), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label229), 0, 0.5); label239 = gtk_label_new (_("Show dates:")); gtk_widget_set_name (label239, "label239"); gtk_widget_show (label239); gtk_box_pack_start (GTK_BOX (vbox62), label239, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label239), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label239), 0, 0.5); label241 = gtk_label_new (_("Show current path:")); gtk_widget_set_name (label241, "label241"); gtk_widget_show (label241); gtk_box_pack_start (GTK_BOX (vbox62), label241, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label241), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label241), 0, 0.5); label242 = gtk_label_new (_("Show filesize:")); gtk_widget_set_name (label242, "label242"); gtk_widget_show (label242); gtk_box_pack_start (GTK_BOX (vbox62), label242, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label242), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label242), 0, 0.5); label243 = gtk_label_new (_("Change working directory:")); gtk_widget_set_name (label243, "label243"); gtk_widget_show (label243); gtk_box_pack_start (GTK_BOX (vbox62), label243, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label243), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label243), 0, 0.5); label238 = gtk_label_new (_("Change mode:")); gtk_widget_set_name (label238, "label238"); gtk_widget_show (label238); gtk_box_pack_start (GTK_BOX (vbox62), label238, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label238), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label238), 0, 0.5); label247 = gtk_label_new (_("Change group:")); gtk_widget_set_name (label247, "label247"); gtk_widget_show (label247); gtk_box_pack_start (GTK_BOX (vbox62), label247, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label247), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label247), 0, 0.5); label249 = gtk_label_new (_("Cdup:")); gtk_widget_set_name (label249, "label249"); gtk_widget_show (label249); gtk_box_pack_start (GTK_BOX (vbox62), label249, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label249), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label249), 0, 0.5); label248 = gtk_label_new (_("Show connection settings:")); gtk_widget_set_name (label248, "label248"); gtk_widget_show (label248); gtk_box_pack_start (GTK_BOX (vbox62), label248, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label248), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label248), 0, 0.5); label362 = gtk_label_new (""); gtk_widget_set_name (label362, "label362"); gtk_widget_show (label362); gtk_box_pack_start (GTK_BOX (hbox252), label362, FALSE, FALSE, 0); gtk_widget_set_size_request (label362, 30, -1); gtk_label_set_justify (GTK_LABEL (label362), GTK_JUSTIFY_LEFT); vbox63 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox63, "vbox63"); gtk_widget_show (vbox63); gtk_box_pack_start (GTK_BOX (hbox252), vbox63, TRUE, TRUE, 0); uldir_site_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_site_checkbutton, "uldir_site_checkbutton"); gtk_widget_show (uldir_site_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_site_checkbutton, TRUE, TRUE, 0); uldir_showdate_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_showdate_checkbutton, "uldir_showdate_checkbutton"); gtk_widget_show (uldir_showdate_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_showdate_checkbutton, TRUE, TRUE, 0); uldir_showwd_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_showwd_checkbutton, "uldir_showwd_checkbutton"); gtk_widget_show (uldir_showwd_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_showwd_checkbutton, TRUE, TRUE, 0); uldir_showsize_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_showsize_checkbutton, "uldir_showsize_checkbutton"); gtk_widget_show (uldir_showsize_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_showsize_checkbutton, TRUE, TRUE, 0); uldir_changewd_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_changewd_checkbutton, "uldir_changewd_checkbutton"); gtk_widget_show (uldir_changewd_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_changewd_checkbutton, TRUE, TRUE, 0); uldir_chmod_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_chmod_checkbutton, "uldir_chmod_checkbutton"); gtk_widget_show (uldir_chmod_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_chmod_checkbutton, TRUE, TRUE, 0); uldir_chgrp_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_chgrp_checkbutton, "uldir_chgrp_checkbutton"); gtk_widget_show (uldir_chgrp_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_chgrp_checkbutton, TRUE, TRUE, 0); uldir_cdup_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_cdup_checkbutton, "uldir_cdup_checkbutton"); gtk_widget_show (uldir_cdup_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_cdup_checkbutton, TRUE, TRUE, 0); uldir_stat_checkbutton = gtk_check_button_new_with_mnemonic (""); gtk_widget_set_name (uldir_stat_checkbutton, "uldir_stat_checkbutton"); gtk_widget_show (uldir_stat_checkbutton); gtk_box_pack_start (GTK_BOX (vbox63), uldir_stat_checkbutton, TRUE, TRUE, 0); label360 = gtk_label_new (""); gtk_widget_set_name (label360, "label360"); gtk_widget_show (label360); gtk_box_pack_start (GTK_BOX (hbox250), label360, FALSE, FALSE, 0); gtk_widget_set_size_request (label360, 30, -1); gtk_label_set_justify (GTK_LABEL (label360), GTK_JUSTIFY_LEFT); hseparator101 = gtk_hseparator_new (); gtk_widget_set_name (hseparator101, "hseparator101"); gtk_widget_show (hseparator101); gtk_box_pack_start (GTK_BOX (uploaddir_vbox), hseparator101, TRUE, TRUE, 0); gtk_widget_set_size_request (hseparator101, -1, 10); hseparator32 = gtk_hseparator_new (); gtk_widget_set_name (hseparator32, "hseparator32"); gtk_widget_show (hseparator32); gtk_box_pack_start (GTK_BOX (vbox16), hseparator32, FALSE, FALSE, 0); gtk_widget_set_size_request (hseparator32, -1, 20); hbuttonbox3 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox3, "hbuttonbox3"); gtk_widget_show (hbuttonbox3); gtk_box_pack_start (GTK_BOX (vbox16), hbuttonbox3, FALSE, TRUE, 0); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3), GTK_BUTTONBOX_SPREAD); userdel_button = gtk_button_new (); gtk_widget_set_name (userdel_button, "userdel_button"); gtk_widget_show (userdel_button); gtk_container_add (GTK_CONTAINER (hbuttonbox3), userdel_button); GTK_WIDGET_SET_FLAGS (userdel_button, GTK_CAN_DEFAULT); alignment29 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment29, "alignment29"); gtk_widget_show (alignment29); gtk_container_add (GTK_CONTAINER (userdel_button), alignment29); hbox64 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox64, "hbox64"); gtk_widget_show (hbox64); gtk_container_add (GTK_CONTAINER (alignment29), hbox64); image29 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image29, "image29"); gtk_widget_show (image29); gtk_box_pack_start (GTK_BOX (hbox64), image29, TRUE, TRUE, 0); label124 = gtk_label_new_with_mnemonic (_("Delete")); gtk_widget_set_name (label124, "label124"); gtk_widget_show (label124); gtk_box_pack_start (GTK_BOX (hbox64), label124, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label124), GTK_JUSTIFY_LEFT); userchange_button = gtk_button_new (); gtk_widget_set_name (userchange_button, "userchange_button"); gtk_widget_show (userchange_button); gtk_container_add (GTK_CONTAINER (hbuttonbox3), userchange_button); GTK_WIDGET_SET_FLAGS (userchange_button, GTK_CAN_DEFAULT); alignment28 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment28, "alignment28"); gtk_widget_show (alignment28); gtk_container_add (GTK_CONTAINER (userchange_button), alignment28); hbox63 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox63, "hbox63"); gtk_widget_show (hbox63); gtk_container_add (GTK_CONTAINER (alignment28), hbox63); image28 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image28, "image28"); gtk_widget_show (image28); gtk_box_pack_start (GTK_BOX (hbox63), image28, TRUE, TRUE, 0); label123 = gtk_label_new_with_mnemonic (_("Change")); gtk_widget_set_name (label123, "label123"); gtk_widget_show (label123); gtk_box_pack_start (GTK_BOX (hbox63), label123, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label123), GTK_JUSTIFY_LEFT); close_user_settings_button = gtk_button_new (); gtk_widget_set_name (close_user_settings_button, "close_user_settings_button"); gtk_widget_show (close_user_settings_button); gtk_container_add (GTK_CONTAINER (hbuttonbox3), close_user_settings_button); GTK_WIDGET_SET_FLAGS (close_user_settings_button, GTK_CAN_DEFAULT); alignment26 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment26, "alignment26"); gtk_widget_show (alignment26); gtk_container_add (GTK_CONTAINER (close_user_settings_button), alignment26); hbox61 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox61, "hbox61"); gtk_widget_show (hbox61); gtk_container_add (GTK_CONTAINER (alignment26), hbox61); image26 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image26, "image26"); gtk_widget_show (image26); gtk_box_pack_start (GTK_BOX (hbox61), image26, TRUE, TRUE, 0); label121 = gtk_label_new_with_mnemonic (_("Close")); gtk_widget_set_name (label121, "label121"); gtk_widget_show (label121); gtk_box_pack_start (GTK_BOX (hbox61), label121, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label121), GTK_JUSTIFY_LEFT); label365 = gtk_label_new (""); gtk_widget_set_name (label365, "label365"); gtk_widget_show (label365); gtk_box_pack_start (GTK_BOX (vbox16), label365, FALSE, FALSE, 0); gtk_widget_set_size_request (label365, -1, 5); gtk_label_set_justify (GTK_LABEL (label365), GTK_JUSTIFY_LEFT); g_signal_connect ((gpointer) userdel_button, "clicked", G_CALLBACK (on_user_settings_delete_button_clicked), NULL); g_signal_connect ((gpointer) userchange_button, "clicked", G_CALLBACK (on_user_settings_change_button_clicked), NULL); g_signal_connect_swapped ((gpointer) close_user_settings_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (user_settings_window)); GLADE_HOOKUP_OBJECT_NO_REF (user_settings_window, user_settings_window, "user_settings_window"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_username_entry, "settings_username_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_password_entry, "settings_password_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_group_entry, "settings_group_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_require_password_entry, "settings_require_password_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, combo17, "combo17"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_login_from_entry, "settings_login_from_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_max_logins_spinbutton, "settings_max_logins_spinbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_max_logins_entry, "settings_max_logins_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_homedirectory_entry, "settings_homedirectory_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, gplock_checkbutton, "gplock_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, banned_checkbutton, "banned_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, settings_uploaddirectory_entry, "settings_uploaddirectory_entry"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_list_checkbutton, "uldir_list_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_upload_checkbutton, "uldir_upload_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_append_checkbutton, "uldir_append_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_download_checkbutton, "uldir_download_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_rename_checkbutton, "uldir_rename_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_delete_checkbutton, "uldir_delete_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_createdir_checkbutton, "uldir_createdir_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_removedir_checkbutton, "uldir_removedir_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_site_checkbutton, "uldir_site_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_showdate_checkbutton, "uldir_showdate_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_showwd_checkbutton, "uldir_showwd_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_showsize_checkbutton, "uldir_showsize_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_changewd_checkbutton, "uldir_changewd_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_chmod_checkbutton, "uldir_chmod_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_chgrp_checkbutton, "uldir_chgrp_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_cdup_checkbutton, "uldir_cdup_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, uldir_stat_checkbutton, "uldir_stat_checkbutton"); GLADE_HOOKUP_OBJECT (user_settings_window, userdel_button, "userdel_button"); GLADE_HOOKUP_OBJECT (user_settings_window, userchange_button, "userchange_button"); GLADE_HOOKUP_OBJECT (user_settings_window, close_user_settings_button, "close_user_settings_button"); GLADE_HOOKUP_OBJECT_NO_REF (user_settings_window, tooltips, "tooltips"); return user_settings_window; } GtkWidget* create_credits_window (void) { gchar *credits; GtkWidget *credits_window, *vbox1; GtkWidget *scrolledwindow1; GtkWidget *credits_textview; GtkWidget *close_credits_button; GtkWidget *alignment18, *hbox51; GtkWidget *image18, *label108; credits_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (credits_window, "credits_window"); gtk_widget_set_size_request (credits_window, 400, 230); gtk_window_set_title (GTK_WINDOW (credits_window), _("About")); gtk_window_set_position (GTK_WINDOW (credits_window), GTK_WIN_POS_CENTER); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox1, "vbox1"); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (credits_window), vbox1); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); gtk_widget_show (scrolledwindow1); gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_ETCHED_OUT); credits_textview = gtk_text_view_new (); gtk_widget_set_name (credits_textview, "credits_textview"); gtk_widget_show (credits_textview); gtk_container_add (GTK_CONTAINER (scrolledwindow1), credits_textview); gtk_text_view_set_editable (GTK_TEXT_VIEW (credits_textview), FALSE); gtk_text_view_set_justification (GTK_TEXT_VIEW (credits_textview), GTK_JUSTIFY_CENTER); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (credits_textview), FALSE); gtk_text_view_set_pixels_above_lines (GTK_TEXT_VIEW (credits_textview), 4); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (credits_textview), 29); credits = g_strconcat( "\n", _("Author: "), "Magnus Löf \n", "\n", _("I want to thank the following for their contributions:"), "\n-------------------------------------------------------------------------\n", "Nestor Diaz ", _("for the icons and the weblogo.\n"), "Julle ", _("for coding support and testing.\n"), _("The people at the GTK+ development lists.\n"), "Marcus von Appen \n", "Rudolf Kastl ", _("for the RPM spec file."), "\n\n", _("And all translators:"), "\n-------------------------------------------------------------------------\n", _("Afrikaans"), " (af) NAME \n", _("Amharic"), " (am) NAME \n", _("Arabic"), " (ar) NAME \n", _("Azerbaijani"), " (az) NAME \n", _("Basque"), " (eu) NAME \n", _("Bulgarian"), " (bg) NAME \n", _("Breton"), " (br) NAME \n", _("Brittish-English"), " (en_GB) NAME \n", _("Bosnian"), " (bs) NAME \n", _("Byelorussian"), " (be) NAME \n", _("Catalan"), " (ca) NAME \n", _("Chinese"), " (zh_CN) NAME \n", _("Chinese-Taiwan"), " (zh_TW) NAME \n", _("Croatian"), " (hr) NAME \n", _("Czech"), " (cs) NAME \n", _("Danish"), " (dk) NAME \n", _("Dutch"), " (nl) NAME \n", _("Esperanto"), " (eo) NAME \n", _("Estonian"), " (et) NAME \n", _("Finnish"), " (fi) NAME \n", _("French"), " (fr) NAME \n", _("Galician"), " (gl) NAME \n", _("German"), " (de) NAME \n", _("Greek"), " (el) NAME \n", _("Hebrew"), " (he) NAME \n", _("Hini"), " (hi) NAME \n", _("Hungarian"), " (hu) NAME \n", _("Icelandic"), " (is) NAME \n", _("Indonesian"), " (id) NAME \n", _("Irish"), " (ga) NAME \n", _("Italian"), " (it) NAME \n", _("Japanese"), " (ja) NAME \n", _("Korean"), " (ko) NAME \n", _("Kurdish"), " (ku) NAME \n", _("Latvian-Lettish"), " (lv) NAME \n", _("Lithuanian"), " (lt) NAME \n", _("Macedonian"), " (mk) NAME \n", _("Maori"), " (mi) NAME \n", _("Macedonian"), " (mk) NAME \n", _("Maltese"), " (mt) NAME \n", _("Norwegian"), " (no) NAME \n", _("Polish"), " (pl) NAME \n", _("Portuguese"), " (pt) NAME \n", _("Portuguese-Brazil"), " (pt_BR) NAME \n", _("Romanian"), " (ro) NAME \n", _("Russian"), " (ru) NAME \n", _("Serbian"), " (sr) NAME \n", _("Slovak"), " (sk) NAME \n", _("Slovenian"), " (sl) NAME \n", _("Spanish"), " (es) Diego Escalante \n", _("Swedish"), " (sv) Magnus Löf \n", _("Tamil"), " (ta) NAME \n", _("Thai"), " (th) NAME \n", _("Turkish"), " (tr) NAME \n", _("Traditional Chinese"), " (zh_TW) NAME \n", _("Ukrainian"), " (uk) NAME \n", _("Vietnamese"), " (vi) NAME \n", _("Wallon"), " (wa) NAME \n", _("Welch"), " (cy) NAME \n", "\n", _("And a big thanks to the Proftpd team.\n"), NULL); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (credits_textview)), credits, -1); if( credits!=NULL ) g_free(credits); close_credits_button = gtk_button_new (); gtk_widget_set_name (close_credits_button, "close_credits_button"); gtk_widget_show (close_credits_button); gtk_box_pack_start (GTK_BOX (vbox1), close_credits_button, FALSE, FALSE, 0); alignment18 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment18, "alignment18"); gtk_widget_show (alignment18); gtk_container_add (GTK_CONTAINER (close_credits_button), alignment18); hbox51 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox51, "hbox51"); gtk_widget_show (hbox51); gtk_container_add (GTK_CONTAINER (alignment18), hbox51); image18 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image18, "image18"); gtk_widget_show (image18); gtk_box_pack_start (GTK_BOX (hbox51), image18, FALSE, FALSE, 0); label108 = gtk_label_new_with_mnemonic (_("Close")); gtk_widget_set_name (label108, "label108"); gtk_widget_show (label108); gtk_box_pack_start (GTK_BOX (hbox51), label108, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label108), GTK_JUSTIFY_LEFT); g_signal_connect_swapped ((gpointer) close_credits_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (credits_window)); GLADE_HOOKUP_OBJECT_NO_REF (credits_window, credits_window, "credits_window"); GLADE_HOOKUP_OBJECT (credits_window, credits_textview, "credits_textview"); GLADE_HOOKUP_OBJECT (credits_window, close_credits_button, "close_credits_button"); return credits_window; } GtkWidget* create_userdir_selection (void) { GtkWidget *userdir_selection; GtkWidget *userdir_select_ok_button; GtkWidget *userdir_select_cancel_button; userdir_selection = gtk_file_selection_new (_("Choose the users root directory")); gtk_widget_set_name (userdir_selection, "userdir_selection"); gtk_widget_set_size_request (userdir_selection, 560, 400); gtk_container_set_border_width (GTK_CONTAINER (userdir_selection), 10); gtk_window_set_position (GTK_WINDOW (userdir_selection), GTK_WIN_POS_CENTER); gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (userdir_selection)); userdir_select_ok_button = GTK_FILE_SELECTION (userdir_selection)->ok_button; gtk_widget_set_name (userdir_select_ok_button, "userdir_select_ok_button"); gtk_widget_show (userdir_select_ok_button); GTK_WIDGET_SET_FLAGS (userdir_select_ok_button, GTK_CAN_DEFAULT); userdir_select_cancel_button = GTK_FILE_SELECTION (userdir_selection)->cancel_button; gtk_widget_set_name (userdir_select_cancel_button, "userdir_select_cancel_button"); gtk_widget_show (userdir_select_cancel_button); GTK_WIDGET_SET_FLAGS (userdir_select_cancel_button, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) userdir_select_ok_button, "clicked", G_CALLBACK (on_userdir_select_ok_button_clicked), NULL); g_signal_connect_swapped ((gpointer) userdir_select_cancel_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (userdir_selection)); GLADE_HOOKUP_OBJECT_NO_REF (userdir_selection, userdir_selection, "userdir_selection"); GLADE_HOOKUP_OBJECT_NO_REF (userdir_selection, userdir_select_ok_button, "userdir_select_ok_button"); GLADE_HOOKUP_OBJECT_NO_REF (userdir_selection, userdir_select_cancel_button, "userdir_select_cancel_button"); return userdir_selection; } GtkWidget* create_useradd_incoming_selection (void) { GtkWidget *useradd_incoming_selection; GtkWidget *incoming_directory_ok_button; GtkWidget *incoming_directory_cancel_button; useradd_incoming_selection = gtk_file_selection_new (_("Choose an upload directory (must be below the users directory)")); gtk_widget_set_name (useradd_incoming_selection, "useradd_incoming_selection"); gtk_widget_set_size_request (useradd_incoming_selection, 560, 400); gtk_container_set_border_width (GTK_CONTAINER (useradd_incoming_selection), 10); gtk_window_set_position (GTK_WINDOW (useradd_incoming_selection), GTK_WIN_POS_CENTER); gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (useradd_incoming_selection)); incoming_directory_ok_button = GTK_FILE_SELECTION (useradd_incoming_selection)->ok_button; gtk_widget_set_name (incoming_directory_ok_button, "incoming_directory_ok_button"); gtk_widget_show (incoming_directory_ok_button); GTK_WIDGET_SET_FLAGS (incoming_directory_ok_button, GTK_CAN_DEFAULT); incoming_directory_cancel_button = GTK_FILE_SELECTION (useradd_incoming_selection)->cancel_button; gtk_widget_set_name (incoming_directory_cancel_button, "incoming_directory_cancel_button"); gtk_widget_show (incoming_directory_cancel_button); GTK_WIDGET_SET_FLAGS (incoming_directory_cancel_button, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) incoming_directory_ok_button, "clicked", G_CALLBACK (on_incoming_directory_ok_button_clicked), NULL); g_signal_connect_swapped ((gpointer) incoming_directory_cancel_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (useradd_incoming_selection)); GLADE_HOOKUP_OBJECT_NO_REF (useradd_incoming_selection, useradd_incoming_selection, "useradd_incoming_selection"); GLADE_HOOKUP_OBJECT_NO_REF (useradd_incoming_selection, incoming_directory_ok_button, "incoming_directory_ok_button"); GLADE_HOOKUP_OBJECT_NO_REF (useradd_incoming_selection, incoming_directory_cancel_button, "incoming_directory_cancel_button"); return useradd_incoming_selection; } GtkWidget* create_default_question_window (void) { GtkWidget *default_question_window; GtkWidget *vbox18, *label182; GtkWidget *scrolledwindow18; GtkWidget *default_question_textview; GtkWidget *hbuttonbox11; GtkWidget *yes_default_question_button; GtkWidget *alignment44, *hbox98; GtkWidget *image44, *label184; GtkWidget *no_default_question_button; GtkWidget *alignment45, *hbox99; GtkWidget *image45, *label185; default_question_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (default_question_window, "default_question_window"); gtk_widget_set_size_request (default_question_window, 370, 319); gtk_window_set_title (GTK_WINDOW (default_question_window), _("GProftpd question")); gtk_window_set_position (GTK_WINDOW (default_question_window), GTK_WIN_POS_CENTER); vbox18 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox18, "vbox18"); gtk_widget_show (vbox18); gtk_container_add (GTK_CONTAINER (default_question_window), vbox18); label182 = gtk_label_new (""); gtk_widget_set_name (label182, "label182"); gtk_widget_show (label182); gtk_box_pack_start (GTK_BOX (vbox18), label182, FALSE, FALSE, 0); gtk_widget_set_size_request (label182, -1, 20); gtk_label_set_justify (GTK_LABEL (label182), GTK_JUSTIFY_LEFT); scrolledwindow18 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow18, "scrolledwindow18"); gtk_widget_show (scrolledwindow18); gtk_box_pack_start (GTK_BOX (vbox18), scrolledwindow18, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow18), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); default_question_textview = gtk_text_view_new (); gtk_widget_set_name (default_question_textview, "default_question_textview"); gtk_widget_show (default_question_textview); gtk_container_add (GTK_CONTAINER (scrolledwindow18), default_question_textview); gtk_widget_set_size_request (default_question_textview, 156, 260); gtk_text_view_set_editable (GTK_TEXT_VIEW (default_question_textview), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (default_question_textview), FALSE); gtk_text_view_set_pixels_above_lines (GTK_TEXT_VIEW (default_question_textview), 3); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (default_question_textview), 30); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (default_question_textview)), _("GProftpd could not find proftpd.conf or you are using\nthe basic configuration wich doesnt have all features\nthat gproftpd's default configuration has.\n\nIf you use proftpd's default configuration and dont\nwant to see this question again, take away the line:\n# Port 21 is the standard ftp port.\n\nDo you want to overwrite proftpd.conf with GProftpd's\ndefault configuration ?\n\n (If you dont know then press yes)\n"), -1); hbuttonbox11 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox11, "hbuttonbox11"); gtk_widget_show (hbuttonbox11); gtk_box_pack_start (GTK_BOX (vbox18), hbuttonbox11, FALSE, FALSE, 0); gtk_widget_set_size_request (hbuttonbox11, -1, 40); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox11), GTK_BUTTONBOX_SPREAD); yes_default_question_button = gtk_button_new (); gtk_widget_set_name (yes_default_question_button, "yes_default_question_button"); gtk_widget_show (yes_default_question_button); gtk_container_add (GTK_CONTAINER (hbuttonbox11), yes_default_question_button); GTK_WIDGET_SET_FLAGS (yes_default_question_button, GTK_CAN_DEFAULT); alignment44 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment44, "alignment44"); gtk_widget_show (alignment44); gtk_container_add (GTK_CONTAINER (yes_default_question_button), alignment44); hbox98 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox98, "hbox98"); gtk_widget_show (hbox98); gtk_container_add (GTK_CONTAINER (alignment44), hbox98); image44 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image44, "image44"); gtk_widget_show (image44); gtk_box_pack_start (GTK_BOX (hbox98), image44, FALSE, FALSE, 0); label184 = gtk_label_new_with_mnemonic (_("Yes")); gtk_widget_set_name (label184, "label184"); gtk_widget_show (label184); gtk_box_pack_start (GTK_BOX (hbox98), label184, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label184), GTK_JUSTIFY_LEFT); no_default_question_button = gtk_button_new (); gtk_widget_set_name (no_default_question_button, "no_default_question_button"); gtk_widget_show (no_default_question_button); gtk_container_add (GTK_CONTAINER (hbuttonbox11), no_default_question_button); GTK_WIDGET_SET_FLAGS (no_default_question_button, GTK_CAN_DEFAULT); alignment45 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment45, "alignment45"); gtk_widget_show (alignment45); gtk_container_add (GTK_CONTAINER (no_default_question_button), alignment45); hbox99 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox99, "hbox99"); gtk_widget_show (hbox99); gtk_container_add (GTK_CONTAINER (alignment45), hbox99); image45 = gtk_image_new_from_stock ("gtk-no", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image45, "image45"); gtk_widget_show (image45); gtk_box_pack_start (GTK_BOX (hbox99), image45, FALSE, FALSE, 0); label185 = gtk_label_new_with_mnemonic (_("No")); gtk_widget_set_name (label185, "label185"); gtk_widget_show (label185); gtk_box_pack_start (GTK_BOX (hbox99), label185, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label185), GTK_JUSTIFY_LEFT); g_signal_connect ((gpointer) yes_default_question_button, "clicked", G_CALLBACK (on_yes_default_question_button_clicked), NULL); g_signal_connect ((gpointer) no_default_question_button, "clicked", G_CALLBACK (on_no_default_question_button_clicked), NULL); GLADE_HOOKUP_OBJECT_NO_REF (default_question_window, default_question_window, "default_question_window"); GLADE_HOOKUP_OBJECT (default_question_window, default_question_textview, "default_question_textview"); GLADE_HOOKUP_OBJECT (default_question_window, yes_default_question_button, "yes_default_question_button"); GLADE_HOOKUP_OBJECT (default_question_window, no_default_question_button, "no_default_question_button"); return default_question_window; } GtkWidget* create_password_question_window (void) { GtkWidget *password_question_window; GtkWidget *vbox25, *label284; GtkWidget *hbox222, *label285; GtkWidget *vbox27, *hbox223; GtkWidget *vbox28, *label292; GtkWidget *label296, *vbox29; GtkWidget *password_change_username_entry; GtkWidget *password_change_password_entry; GtkWidget *label286, *label289; GtkWidget *hbuttonbox12; GtkWidget *change_password_button; GtkWidget *alignment48, *hbox228; GtkWidget *image48, *label303; GtkWidget *dont_change_password_button; GtkWidget *alignment47, *hbox227; GtkWidget *image47, *label302; password_question_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (password_question_window, "password_question_window"); gtk_window_set_title (GTK_WINDOW (password_question_window), _("GProFTPD Password")); gtk_window_set_position (GTK_WINDOW (password_question_window), GTK_WIN_POS_CENTER); vbox25 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox25, "vbox25"); gtk_widget_show (vbox25); gtk_container_add (GTK_CONTAINER (password_question_window), vbox25); label284 = gtk_label_new (_("This user already existed in the system.")); gtk_widget_set_name (label284, "label284"); gtk_widget_show (label284); gtk_box_pack_start (GTK_BOX (vbox25), label284, FALSE, FALSE, 0); gtk_widget_set_size_request (label284, -1, 30); gtk_label_set_justify (GTK_LABEL (label284), GTK_JUSTIFY_LEFT); hbox222 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox222, "hbox222"); gtk_widget_show (hbox222); gtk_box_pack_start (GTK_BOX (vbox25), hbox222, TRUE, TRUE, 0); label285 = gtk_label_new (""); gtk_widget_set_name (label285, "label285"); gtk_widget_show (label285); gtk_box_pack_start (GTK_BOX (hbox222), label285, FALSE, FALSE, 0); gtk_widget_set_size_request (label285, 30, -1); gtk_label_set_justify (GTK_LABEL (label285), GTK_JUSTIFY_LEFT); vbox27 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox27, "vbox27"); gtk_widget_show (vbox27); gtk_box_pack_start (GTK_BOX (hbox222), vbox27, TRUE, TRUE, 0); hbox223 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox223, "hbox223"); gtk_widget_show (hbox223); gtk_box_pack_start (GTK_BOX (vbox27), hbox223, TRUE, TRUE, 0); vbox28 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox28, "vbox28"); gtk_widget_show (vbox28); gtk_box_pack_start (GTK_BOX (hbox223), vbox28, FALSE, FALSE, 0); label292 = gtk_label_new (_("Username:")); gtk_widget_set_name (label292, "label292"); gtk_widget_show (label292); gtk_box_pack_start (GTK_BOX (vbox28), label292, FALSE, FALSE, 0); gtk_widget_set_size_request (label292, -1, 26); gtk_label_set_justify (GTK_LABEL (label292), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label292), 0, 0.5); label296 = gtk_label_new (_("New password: ")); gtk_widget_set_name (label296, "label296"); gtk_widget_show (label296); gtk_box_pack_start (GTK_BOX (vbox28), label296, FALSE, FALSE, 0); gtk_widget_set_size_request (label296, -1, 26); gtk_label_set_justify (GTK_LABEL (label296), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label296), 0, 0.5); vbox29 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox29, "vbox29"); gtk_widget_show (vbox29); gtk_box_pack_start (GTK_BOX (hbox223), vbox29, TRUE, TRUE, 0); password_change_username_entry = gtk_entry_new (); gtk_widget_set_name (password_change_username_entry, "password_change_username_entry"); gtk_widget_show (password_change_username_entry); gtk_box_pack_start (GTK_BOX (vbox29), password_change_username_entry, FALSE, FALSE, 0); gtk_widget_set_sensitive (password_change_username_entry, FALSE); gtk_editable_set_editable (GTK_EDITABLE (password_change_username_entry), FALSE); password_change_password_entry = gtk_entry_new (); gtk_widget_set_name (password_change_password_entry, "password_change_password_entry"); gtk_widget_show (password_change_password_entry); gtk_box_pack_start (GTK_BOX (vbox29), password_change_password_entry, FALSE, FALSE, 0); label286 = gtk_label_new (""); gtk_widget_set_name (label286, "label286"); gtk_widget_show (label286); gtk_box_pack_start (GTK_BOX (hbox222), label286, FALSE, FALSE, 0); gtk_widget_set_size_request (label286, 90, -1); gtk_label_set_justify (GTK_LABEL (label286), GTK_JUSTIFY_LEFT); label289 = gtk_label_new (_("Do you want to change the users password ?")); gtk_widget_set_name (label289, "label289"); gtk_widget_show (label289); gtk_box_pack_start (GTK_BOX (vbox25), label289, FALSE, FALSE, 0); gtk_widget_set_size_request (label289, -1, 30); gtk_label_set_justify (GTK_LABEL (label289), GTK_JUSTIFY_LEFT); hbuttonbox12 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox12, "hbuttonbox12"); gtk_widget_show (hbuttonbox12); gtk_box_pack_start (GTK_BOX (vbox25), hbuttonbox12, FALSE, FALSE, 0); gtk_widget_set_size_request (hbuttonbox12, -1, 50); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox12), GTK_BUTTONBOX_SPREAD); change_password_button = gtk_button_new (); gtk_widget_set_name (change_password_button, "change_password_button"); gtk_widget_show (change_password_button); gtk_container_add (GTK_CONTAINER (hbuttonbox12), change_password_button); GTK_WIDGET_SET_FLAGS (change_password_button, GTK_CAN_DEFAULT); alignment48 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment48, "alignment48"); gtk_widget_show (alignment48); gtk_container_add (GTK_CONTAINER (change_password_button), alignment48); hbox228 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox228, "hbox228"); gtk_widget_show (hbox228); gtk_container_add (GTK_CONTAINER (alignment48), hbox228); image48 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image48, "image48"); gtk_widget_show (image48); gtk_box_pack_start (GTK_BOX (hbox228), image48, FALSE, FALSE, 0); label303 = gtk_label_new_with_mnemonic (_("Change")); gtk_widget_set_name (label303, "label303"); gtk_widget_show (label303); gtk_box_pack_start (GTK_BOX (hbox228), label303, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label303), GTK_JUSTIFY_LEFT); dont_change_password_button = gtk_button_new (); gtk_widget_set_name (dont_change_password_button, "dont_change_password_button"); gtk_widget_show (dont_change_password_button); gtk_container_add (GTK_CONTAINER (hbuttonbox12), dont_change_password_button); GTK_WIDGET_SET_FLAGS (dont_change_password_button, GTK_CAN_DEFAULT); alignment47 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment47, "alignment47"); gtk_widget_show (alignment47); gtk_container_add (GTK_CONTAINER (dont_change_password_button), alignment47); hbox227 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox227, "hbox227"); gtk_widget_show (hbox227); gtk_container_add (GTK_CONTAINER (alignment47), hbox227); image47 = gtk_image_new_from_stock ("gtk-no", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image47, "image47"); gtk_widget_show (image47); gtk_box_pack_start (GTK_BOX (hbox227), image47, FALSE, FALSE, 0); label302 = gtk_label_new_with_mnemonic (_("Dont change")); gtk_widget_set_name (label302, "label302"); gtk_widget_show (label302); gtk_box_pack_start (GTK_BOX (hbox227), label302, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label302), GTK_JUSTIFY_LEFT); g_signal_connect ((gpointer) change_password_button, "clicked", G_CALLBACK (on_change_password_button_clicked), NULL); g_signal_connect_swapped ((gpointer) dont_change_password_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (password_question_window)); GLADE_HOOKUP_OBJECT_NO_REF (password_question_window, password_question_window, "password_question_window"); GLADE_HOOKUP_OBJECT (password_question_window, password_change_username_entry, "password_change_username_entry"); GLADE_HOOKUP_OBJECT (password_question_window, password_change_password_entry, "password_change_password_entry"); GLADE_HOOKUP_OBJECT (password_question_window, change_password_button, "change_password_button"); GLADE_HOOKUP_OBJECT (password_question_window, dont_change_password_button, "dont_change_password_button"); return password_question_window; } GtkWidget* create_userdel_question_window (void) { GtkWidget *userdel_question_window; GtkWidget *vbox31, *label297, *hbox225; GtkWidget *label298, *label299; GtkWidget *userdel_question_entry; GtkWidget *label300, *hbuttonbox13; GtkWidget *question_userdel_cancel_button; GtkWidget *alignment49, *hbox229; GtkWidget *image49, *label304; GtkWidget *question_userdel_delete_button; GtkWidget *alignment50, *hbox230, *image50, *label305; userdel_question_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (userdel_question_window, "userdel_question_window"); gtk_window_set_title (GTK_WINDOW (userdel_question_window), _("Delete the system user ?")); gtk_window_set_position (GTK_WINDOW (userdel_question_window), GTK_WIN_POS_CENTER); vbox31 = gtk_vbox_new (TRUE, 0); gtk_widget_set_name (vbox31, "vbox31"); gtk_widget_show (vbox31); gtk_container_add (GTK_CONTAINER (userdel_question_window), vbox31); label297 = gtk_label_new (_("Do you also want to delete the system user ?")); gtk_widget_set_name (label297, "label297"); gtk_widget_show (label297); gtk_box_pack_start (GTK_BOX (vbox31), label297, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label297), GTK_JUSTIFY_LEFT); hbox225 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox225, "hbox225"); gtk_widget_show (hbox225); gtk_box_pack_start (GTK_BOX (vbox31), hbox225, FALSE, FALSE, 0); label298 = gtk_label_new (""); gtk_widget_set_name (label298, "label298"); gtk_widget_show (label298); gtk_box_pack_start (GTK_BOX (hbox225), label298, FALSE, FALSE, 0); gtk_widget_set_size_request (label298, 30, -1); gtk_label_set_justify (GTK_LABEL (label298), GTK_JUSTIFY_LEFT); label299 = gtk_label_new (_("Username: ")); gtk_widget_set_name (label299, "label299"); gtk_widget_show (label299); gtk_box_pack_start (GTK_BOX (hbox225), label299, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label299), GTK_JUSTIFY_LEFT); userdel_question_entry = gtk_entry_new (); gtk_widget_set_name (userdel_question_entry, "userdel_question_entry"); gtk_widget_show (userdel_question_entry); gtk_box_pack_start (GTK_BOX (hbox225), userdel_question_entry, TRUE, TRUE, 0); gtk_widget_set_sensitive (userdel_question_entry, FALSE); gtk_editable_set_editable (GTK_EDITABLE (userdel_question_entry), FALSE); label300 = gtk_label_new (""); gtk_widget_set_name (label300, "label300"); gtk_widget_show (label300); gtk_box_pack_start (GTK_BOX (hbox225), label300, FALSE, FALSE, 0); gtk_widget_set_size_request (label300, 90, -1); gtk_label_set_justify (GTK_LABEL (label300), GTK_JUSTIFY_LEFT); hbuttonbox13 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox13, "hbuttonbox13"); gtk_widget_show (hbuttonbox13); gtk_box_pack_start (GTK_BOX (vbox31), hbuttonbox13, FALSE, FALSE, 0); gtk_widget_set_size_request (hbuttonbox13, -1, 40); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox13), GTK_BUTTONBOX_SPREAD); question_userdel_cancel_button = gtk_button_new (); gtk_widget_set_name (question_userdel_cancel_button, "question_userdel_cancel_button"); gtk_widget_show (question_userdel_cancel_button); gtk_container_add (GTK_CONTAINER (hbuttonbox13), question_userdel_cancel_button); GTK_WIDGET_SET_FLAGS (question_userdel_cancel_button, GTK_CAN_DEFAULT); alignment49 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment49, "alignment49"); gtk_widget_show (alignment49); gtk_container_add (GTK_CONTAINER (question_userdel_cancel_button), alignment49); hbox229 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox229, "hbox229"); gtk_widget_show (hbox229); gtk_container_add (GTK_CONTAINER (alignment49), hbox229); image49 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image49, "image49"); gtk_widget_show (image49); gtk_box_pack_start (GTK_BOX (hbox229), image49, FALSE, FALSE, 0); label304 = gtk_label_new_with_mnemonic (_("No")); gtk_widget_set_name (label304, "label304"); gtk_widget_show (label304); gtk_box_pack_start (GTK_BOX (hbox229), label304, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label304), GTK_JUSTIFY_LEFT); question_userdel_delete_button = gtk_button_new (); gtk_widget_set_name (question_userdel_delete_button, "question_userdel_delete_button"); gtk_widget_show (question_userdel_delete_button); gtk_container_add (GTK_CONTAINER (hbuttonbox13), question_userdel_delete_button); GTK_WIDGET_SET_FLAGS (question_userdel_delete_button, GTK_CAN_DEFAULT); alignment50 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment50, "alignment50"); gtk_widget_show (alignment50); gtk_container_add (GTK_CONTAINER (question_userdel_delete_button), alignment50); hbox230 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox230, "hbox230"); gtk_widget_show (hbox230); gtk_container_add (GTK_CONTAINER (alignment50), hbox230); image50 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image50, "image50"); gtk_widget_show (image50); gtk_box_pack_start (GTK_BOX (hbox230), image50, FALSE, FALSE, 0); label305 = gtk_label_new_with_mnemonic (_("Delete")); gtk_widget_set_name (label305, "label305"); gtk_widget_show (label305); gtk_box_pack_start (GTK_BOX (hbox230), label305, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label305), GTK_JUSTIFY_LEFT); g_signal_connect_swapped ((gpointer) question_userdel_cancel_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (userdel_question_window)); g_signal_connect ((gpointer) question_userdel_delete_button, "clicked", G_CALLBACK (on_question_userdel_delete_button_clicked), NULL); GLADE_HOOKUP_OBJECT_NO_REF (userdel_question_window, userdel_question_window, "userdel_question_window"); GLADE_HOOKUP_OBJECT (userdel_question_window, userdel_question_entry, "userdel_question_entry"); GLADE_HOOKUP_OBJECT (userdel_question_window, question_userdel_cancel_button, "question_userdel_cancel_button"); GLADE_HOOKUP_OBJECT (userdel_question_window, question_userdel_delete_button, "question_userdel_delete_button"); return userdel_question_window; } GtkWidget* create_add_systemuser_question_window (void) { GtkWidget *add_systemuser_question_window; GtkWidget *vbox64, *label374; GtkWidget *hbox253, *label375; GtkWidget *add_systemuser_entry; GtkWidget *label376, *label380; GtkWidget *hbuttonbox14; GtkWidget *add_systemuser_no_button; GtkWidget *alignment51, *hbox254; GtkWidget *image51, *label378; GtkWidget *add_systemuser_yes_button; GtkWidget *alignment52, *hbox255; GtkWidget *image52, *label379; add_systemuser_question_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (add_systemuser_question_window, "add_systemuser_question_window"); gtk_window_set_title (GTK_WINDOW (add_systemuser_question_window), _("Add this needed master ftpuser ?")); gtk_window_set_position (GTK_WINDOW (add_systemuser_question_window), GTK_WIN_POS_CENTER); vbox64 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (vbox64, "vbox64"); gtk_widget_show (vbox64); gtk_container_add (GTK_CONTAINER (add_systemuser_question_window), vbox64); label374 = gtk_label_new (_("GProftpd needs to add the user and group the server will runs as.")); gtk_widget_set_name (label374, "label374"); gtk_widget_show (label374); gtk_box_pack_start (GTK_BOX (vbox64), label374, FALSE, FALSE, 0); gtk_widget_set_size_request (label374, 422, -1); gtk_label_set_justify (GTK_LABEL (label374), GTK_JUSTIFY_LEFT); gtk_misc_set_padding (GTK_MISC (label374), 0, 10); hbox253 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (hbox253, "hbox253"); gtk_widget_show (hbox253); gtk_box_pack_start (GTK_BOX (vbox64), hbox253, TRUE, TRUE, 0); label375 = gtk_label_new (_("User and groupname:")); gtk_widget_set_name (label375, "label375"); gtk_widget_show (label375); gtk_box_pack_start (GTK_BOX (hbox253), label375, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label375), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label375), 0, 0.5); gtk_misc_set_padding (GTK_MISC (label375), 10, 0); add_systemuser_entry = gtk_entry_new (); gtk_widget_set_name (add_systemuser_entry, "add_systemuser_entry"); gtk_widget_show (add_systemuser_entry); gtk_box_pack_start (GTK_BOX (hbox253), add_systemuser_entry, TRUE, TRUE, 0); gtk_widget_set_sensitive (add_systemuser_entry, FALSE); gtk_editable_set_editable (GTK_EDITABLE (add_systemuser_entry), FALSE); label376 = gtk_label_new (""); gtk_widget_set_name (label376, "label376"); gtk_widget_show (label376); gtk_box_pack_end (GTK_BOX (hbox253), label376, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label376), GTK_JUSTIFY_LEFT); label380 = gtk_label_new (_("This action is necessary, do you want to do it ?")); gtk_widget_set_name (label380, "label380"); gtk_widget_show (label380); gtk_box_pack_start (GTK_BOX (vbox64), label380, FALSE, FALSE, 0); gtk_widget_set_size_request (label380, -1, 30); gtk_label_set_justify (GTK_LABEL (label380), GTK_JUSTIFY_LEFT); hbuttonbox14 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox14, "hbuttonbox14"); gtk_widget_show (hbuttonbox14); gtk_box_pack_start (GTK_BOX (vbox64), hbuttonbox14, FALSE, FALSE, 0); gtk_widget_set_size_request (hbuttonbox14, -1, 40); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox14), GTK_BUTTONBOX_SPREAD); add_systemuser_no_button = gtk_button_new (); gtk_widget_set_name (add_systemuser_no_button, "add_systemuser_no_button"); gtk_widget_show (add_systemuser_no_button); gtk_container_add (GTK_CONTAINER (hbuttonbox14), add_systemuser_no_button); GTK_WIDGET_SET_FLAGS (add_systemuser_no_button, GTK_CAN_DEFAULT); alignment51 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment51, "alignment51"); gtk_widget_show (alignment51); gtk_container_add (GTK_CONTAINER (add_systemuser_no_button), alignment51); hbox254 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox254, "hbox254"); gtk_widget_show (hbox254); gtk_container_add (GTK_CONTAINER (alignment51), hbox254); image51 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image51, "image51"); gtk_widget_show (image51); gtk_box_pack_start (GTK_BOX (hbox254), image51, FALSE, FALSE, 0); label378 = gtk_label_new_with_mnemonic (_("No")); gtk_widget_set_name (label378, "label378"); gtk_widget_show (label378); gtk_box_pack_start (GTK_BOX (hbox254), label378, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label378), GTK_JUSTIFY_LEFT); add_systemuser_yes_button = gtk_button_new (); gtk_widget_set_name (add_systemuser_yes_button, "add_systemuser_yes_button"); gtk_widget_show (add_systemuser_yes_button); gtk_container_add (GTK_CONTAINER (hbuttonbox14), add_systemuser_yes_button); GTK_WIDGET_SET_FLAGS (add_systemuser_yes_button, GTK_CAN_DEFAULT); alignment52 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_set_name (alignment52, "alignment52"); gtk_widget_show (alignment52); gtk_container_add (GTK_CONTAINER (add_systemuser_yes_button), alignment52); hbox255 = gtk_hbox_new (FALSE, 2); gtk_widget_set_name (hbox255, "hbox255"); gtk_widget_show (hbox255); gtk_container_add (GTK_CONTAINER (alignment52), hbox255); image52 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON); gtk_widget_set_name (image52, "image52"); gtk_widget_show (image52); gtk_box_pack_start (GTK_BOX (hbox255), image52, FALSE, FALSE, 0); label379 = gtk_label_new_with_mnemonic (_("Yes")); gtk_widget_set_name (label379, "label379"); gtk_widget_show (label379); gtk_box_pack_start (GTK_BOX (hbox255), label379, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label379), GTK_JUSTIFY_LEFT); g_signal_connect ((gpointer) add_systemuser_question_window, "map", G_CALLBACK (on_add_systemuser_question_window_map), NULL); g_signal_connect_swapped ((gpointer) add_systemuser_no_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (add_systemuser_question_window)); g_signal_connect ((gpointer) add_systemuser_yes_button, "clicked", G_CALLBACK (on_add_systemuser_yes_button_clicked), NULL); GLADE_HOOKUP_OBJECT_NO_REF (add_systemuser_question_window, add_systemuser_question_window, "add_systemuser_question_window"); GLADE_HOOKUP_OBJECT (add_systemuser_question_window, add_systemuser_entry, "add_systemuser_entry"); GLADE_HOOKUP_OBJECT (add_systemuser_question_window, add_systemuser_no_button, "add_systemuser_no_button"); GLADE_HOOKUP_OBJECT (add_systemuser_question_window, add_systemuser_yes_button, "add_systemuser_yes_button"); return add_systemuser_question_window; } 0707010001dbed000081a4000000020000000200000001403128e400000215000000200000000000000000000000000000001400000000reloc/src/dialogs.h#include GtkWidget* create_help_window (void); GtkWidget* create_shutdown_window (void); GtkWidget* create_info_window (void); GtkWidget* create_user_settings_window (void); GtkWidget* create_credits_window (void); GtkWidget* create_userdir_selection (void); GtkWidget* create_useradd_incoming_selection (void); GtkWidget* create_default_question_window (void); GtkWidget* create_password_question_window (void); GtkWidget* create_userdel_question_window (void); GtkWidget* create_add_systemuser_question_window (void); 0707010001dbee000081a40000000200000002000000014173776600026bec000000200000000000000000000000000000001400000000reloc/src/dialogs.oELFh4(.shstrtab.debug_abbrev.debug_info.debug_line.text.rodata.debug_frame.debug_pubnames.debug_aranges.debug_str.symtab.strtab.rela.debug_info.rela.debug_line.rela.text.rela.debug_frame.rela.debug_pubnames.rela.debug_aranges.comment% $ > $ > : ; I : ;I : ; : ;I8  : ; : ; I8  I < : ; I8  : ; (  : ;  : ; I 8 I!I/ .? : ; ' I@ 4: ; I 4: ; I .? : ;' I@ 4: ;I 4: ;I .? : ;' I@ *GNU C 3.4.1dialogs.c/home/shake/gproftpd-8.1.7/srcintlong intsigned charguint8%unsigned charshort intguint16'short unsigned intguint32+Ulong long intlong long unsigned intchardoublegchar) glong+\gint,Ngulong1Qlong unsigned intguint2UfloatgpointerBGTimeVal8_GTimeVal8tv_sec<*#tv_usec=*#GArray" _GArray" data(# len)f# GList "% b_GList " data &|# next 'b# prev (b# GData"u _GDataGSList" _GSList" data&|# next'# ~ hGType+\CGTypeClass+c  _GTypeClass+c g_type+r#GTypeInstance+e! K_GTypeInstance+e g_class+wK# GObject21` _GObject 21 g_type_instance2A # ref_count2Df# qdata2E#PangoFontDescription9  _PangoFontDescription GdkRectangleCC N_GdkRectangleCC xC7# yC7# widthC7# heightC7# GdkColorC^^ _GdkColor C^ pixelD# redD# greenD# blueD#GdkColormapC_ /_GdkColormapC_ D)Q# sizeD,7# colorsD-# visualD0# windowing_dataD2|#GdkFontCa> _GdkFont Ca typeO=# ascentO7# descentO7#GdkGCCb _GdkGC Cb JQ# clip_x_originJ7# clip_y_originJ7# ts_x_originJ7# ts_y_originJ7# J#GdkVisualCe( d_GdkVisualDCe Y1Q# typeY3# depthY47# byte_orderY5# colormap_sizeY67# bits_per_rgbY77# red_maskY9# red_shiftY:7#$ red_precY;7#( green_maskY=#, green_shiftY>7#0 green_precY?7#4 blue_maskYA#8 blue_shiftYB7#< blue_precYC7#@ _GdkDrawable Cg NQ#GdkPixmapCidGdkWindowCjdCoGDK_LSB_FIRSTGDK_MSB_FIRSTGdkByteOrderCr N   /   =OGDK_FONT_FONTGDK_FONT_FONTSETGdkFontTypeOYGDK_VISUAL_STATIC_GRAYGDK_VISUAL_GRAYSCALEGDK_VISUAL_STATIC_COLORGDK_VISUAL_PSEUDO_COLORGDK_VISUAL_TRUE_COLORGDK_VISUAL_DIRECT_COLORGdkVisualTypeY!PGtkObject]u  G_GtkObject]u _VQ# flags_]#  GtkStylea4 ] _GtkStylea4 aIQ# fgaM # bgaN #H lightaO # darkaP # midaQ # textaR # baseaS # text_aaaT # blackaVN# whiteaWN# aX# aZ7# a[7# fg_gca]# bg_gca^# light_gca_# dark_gca`# mid_gcaa# text_gcab# base_gcac# text_aa_gcad# black_gcae # white_gcaf # bg_pixmapah# attach_countal7# depthan7# ao# private_fontap# private_font_descaq# rc_styleat&# stylesav# property_cacheaw,# ax#GtkRcStylea7  _GtkRcStyleDa7 b<Q# nameb@# bg_pixmap_namebA# bB#$ color_flagsbD#( fgbE #< bgbF #x textbG # basebH # bJ7# bK7# rc_propertiesbN,# rc_style_listsbQ# bS#engine_specifiedbUf#GtkWidgetaC ' _GtkWidget{GtkRequisitiong _GtkRequisitiong widthg7# heightg7#GtkAllocationgGtkTooltips.% ._GtkTooltips4. < # tip_window>8# tip_label?8# active_tips_data@# tips_data_listAb#delayCf# enabledDf# have_grabEf# use_sticky_delayFf#$ timer_tagG7#( last_popdownH#,GtkTooltipsData0E _GtkTooltipsData0 4# widget58# tip_text6# tip_private7#  .create_help_window)8nhelp_text*`help_window+8cvbox15+8lscrolledwindow16+8`help_textview,8hclose_help_button,8balignment19-8`hbox52-8aimage19-8`label109-8`create_shutdown_window8nshutdown_window8hvbox178dlabel1418`hseparator358`hbox1348alabel1468`real_shutdown_entry8flabel2518`hbox788alabel1428`new_acc_disabled_entry8llabel1448`hbox798alabel1458`exist_users_dc_entry8ilabel1488`hbox818alabel1478`shutdown_msg1_entry8jlabel1528`hseparator498`label2528`hseparator348`hbuttonbox98cshutdown_cancel_button8ealignment378`hbox838aimage378`label1548`shutdown_ok_button8dalignment368`hbox828aimage368`label1538`lcreate_info_window8ninfo_window8hscrolledwindow158`info_textview8a ccreate_user_settings_window8nuser_settings_window8hvbox168llabel3498`scrolledwindow198aviewport48`vbox548lhseparator1038`changer_rootdir_hbox8mlabel3508`vbox558alabel1138`label1398`label1158`label2338`label1758`label2358`label1318`label1178`label3018`label3718`label3518`vbox568asettings_username_entry8hsettings_password_entry8dsettings_group_entry8`combo178\combo17_itemsbesettings_require_password_entry8Xsettings_login_from_entry8Tsettings_max_logins_spinbutton_adj G`settings_max_logins_spinbutton8Psettings_max_logins_entry8Lsettings_homedirectory_entry8Hgplock_checkbutton8Dbanned_checkbutton8@label3528`changer_rootdir_hseparator8`uploaddir_vbox8jhbox2488alabel3638`label2178`label3548`settings_uploaddirectory_entry8label3558`hbox2498alabel3568`label2448`label3578`hbox2508mlabel3588`vbox588`hbox2518gvbox608clabel2228`label2238`label2318`label2248`label2268`label2378`label2258`label2308`label3648`label3618`vbox618`uldir_list_checkbutton8uldir_upload_checkbutton8uldir_append_checkbutton8uldir_download_checkbutton8uldir_rename_checkbutton8uldir_delete_checkbutton8uldir_createdir_checkbutton8uldir_removedir_checkbutton8label3598`vbox598`hbox2528cvbox628alabel2298`label2398`label2418`label2428`label2438`label238 8`label247 8`label249 8`label248 8`label362 8`vbox63 8`uldir_site_checkbutton 8uldir_showdate_checkbutton 8uldir_showwd_checkbutton 8uldir_showsize_checkbutton8uldir_changewd_checkbutton8uldir_chmod_checkbutton8uldir_chgrp_checkbutton8uldir_cdup_checkbutton8~uldir_stat_checkbutton8~label3608`hseparator1018`hseparator328`hbuttonbox38fuserdel_button8ialignment298`hbox648aimage298`label1248`userchange_button8jalignment288`hbox638aimage288`label1238`close_user_settings_button8lalignment268`hbox618aimage268`label1218`label3658`~!mcreate_credits_window8ncredits`credits_window8kvbox18fscrolledwindow18acredits_textview 8jclose_credits_button 8balignment18 8`hbox51 8aimage18 8`label108 8`"create_userdir_selection8nuserdir_selection8huserdir_select_ok_button8buserdir_select_cancel_button8`"create_useradd_incoming_selection8nuseradd_incoming_selection8hincoming_directory_ok_button8bincoming_directory_cancel_button8`$ncreate_default_question_window8ndefault_question_window8hvbox188alabel1828`scrolledwindow188`default_question_textview8chbuttonbox118byes_default_question_button 8galignment44 8`hbox98 8aimage44 8`label184 8`no_default_question_button 8dalignment45 8`hbox99 8aimage458`label1858`&create_password_question_window8npassword_question_window8hvbox258llabel2848`hbox2228elabel2858`vbox278`hbox2238cvbox288alabel2928`label2968`vbox298`password_change_username_entry8kpassword_change_password_entry8ilabel2868`label2898`hbuttonbox128cchange_password_button8ealignment488`hbox2288aimage488`label3038`dont_change_password_button8dalignment478`hbox2278aimage478`label3028`(create_userdel_question_window@8nuserdel_question_windowA8hvbox31B8dlabel297B8`hbox225B8alabel298C8`label299C8`userdel_question_entryD8llabel300E8`hbuttonbox13E8bquestion_userdel_cancel_buttonF8falignment49G8`hbox229G8aimage49H8`label304H8`question_userdel_delete_buttonI8dalignment50J8`hbox230J8aimage50J8`label305J8`create_add_systemuser_question_window8nadd_systemuser_question_window8hvbox648dlabel3748`hbox2538alabel3758`add_systemuser_entry8llabel3768`label3808`hbuttonbox148badd_systemuser_no_button8falignment518`hbox2548aimage518`label3788`add_systemuser_yes_button8dalignment528`hbox2558aimage528`label3798`N /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/usr/include/atk-1.0/atk/usr/include/glib-2.0/glib/usr/include/glib-2.0/gobject/usr/include/gtk-2.0/gdk-pixbuf/usr/include/gtk-2.0/gdk/usr/include/gtk-2.0/gtk/usr/include/pango-1.0/pango/usr/lib/glib-2.0/includestddef.hsyslimits.hglibconfig.h gtypes.hgarray.hgquark.hgerror.hgthread.hgasyncqueue.hgmem.hglist.hgcache.hgcompletion.hgconvert.hgdataset.hgdate.hgdir.hgfileutils.hghash.hghook.hgslist.hgmain.hgunicode.hgstring.hgiochannel.hgmarkup.hstdarg.hgmessages.hgnode.hgpattern.hgqueue.hgrand.hgrel.hgscanner.hgshell.hgspawn.hgstrfuncs.hgthreadpool.hgtimer.hgtree.hgutils.hpango-coverage.hgtype.hgboxed.hgenums.hgvalue.hgparam.hgclosure.hgsignal.hgobject.hgparamspecs.hgtypemodule.hgtypeplugin.hgvaluearray.hgvaluetypes.hpango-types.hpango-font.hpango-attributes.hpango-item.hpango-break.hpango-fontset.hpango-fontmap.hpango-context.hpango-glyph.hpango-tabs.hpango-layout.hgdktypes.hgdkcolor.hgdkcursor.hgdkdnd.hgdkinput.hgdkevents.hgdkdisplay.hgdkgc.hgdkrgb.hgdk-pixbuf.hgdk-pixbuf-loader.hgdkdrawable.hgdkfont.hgdkimage.hgdkkeys.hgdkdisplaymanager.hgdkpango.hgdkpixmap.hgdkproperty.hgdkregion.hgdkscreen.hgdkselection.hgdkvisual.hgdkwindow.hgtkenums.hgtkaccelgroup.hgtktypeutils.hgtkdebug.hgtkobject.hgtkadjustment.hgtkstyle.hgtkrc.hgtksettings.hatkstate.hatkrelationtype.hatkobject.hgtkwidget.hgtkmisc.hgtkcontainer.hgtkbin.hgtkwindow.hgtkmenushell.hgtkmenu.hgtklabel.hgtkaccellabel.hgtkaccelmap.hatkaction.hatkutil.hatkcomponent.hatkdocument.hatktext.hatkeditabletext.hatkgobjectaccessible.hatkhyperlink.hatkhypertext.hatkimage.hatknoopobject.hatkobjectfactory.hatknoopobjectfactory.hatkregistry.hatkrelation.hatkrelationset.hatkselection.hatkstateset.hatkstreamablecontent.hatktable.hatkvalue.hgtkaccessible.hgtkalignment.hgtkframe.hgtkaspectframe.hgtkarrow.hgtkbindings.hgtkbox.hgtkbbox.hgtkbutton.hgtkcalendar.hgtkcelleditable.hgtkcellrenderer.hgtkcellrenderertext.hgtkcellrenderertoggle.hgtkcellrendererpixbuf.hgtktogglebutton.hgtkcheckbutton.hgtkitem.hgtkmenuitem.hgtkcheckmenuitem.hgtkselection.hgtkclipboard.hgtkrange.hgtkscrollbar.hgtkhscrollbar.hgtkvscrollbar.hgtkclist.hgtkdialog.hgtkvbox.hgtkcolorsel.hgtkcolorseldialog.hgtkhbox.hgtkcombo.hgtkctree.hgtkdrawingarea.hgtkcurve.hgtkdnd.hgtkeditable.hgtkimcontext.hgtkentry.hgtkeventbox.hgtkfilesel.hgtkfixed.hgtkfontsel.hgtkgamma.hgtkhandlebox.hgtkhbbox.hgtkpaned.hgtkhpaned.hgtkruler.hgtkhruler.hgtkscale.hgtkhscale.hgtkseparator.hgtkhseparator.hgtkiconfactory.hgtkimage.hgtkimagemenuitem.hgtkimcontextsimple.hgtkimmulticontext.hgtkinputdialog.hgtkinvisible.hgtkitemfactory.hgtklayout.hgtklistitem.hgtklist.hgtktreemodel.hgtktreesortable.hgtkliststore.hgtkmain.hgtkmenubar.hgtkmessagedialog.hgtknotebook.hgtkoldeditable.hgtkoptionmenu.hgtkpixmap.hgtksocket.hgtkplug.hgtkpreview.hgtkprogress.hgtkprogressbar.hgtkradiobutton.hgtkradiomenuitem.hgtkviewport.hgtkscrolledwindow.hgtkseparatormenuitem.hgtksizegroup.hgtkspinbutton.hgtkstock.hgtkstatusbar.hgtktable.hgtktearoffmenuitem.hgtktexttag.hgtktexttagtable.hgtktextchild.hgtktextiter.hgtktextmark.hgtktextbuffer.hgtktextview.hgtktipsquery.hgtktooltips.hgtktoolbar.hgtktreednd.hgtktreemodelsort.hgtktreeviewcolumn.hgtktreeview.hgtktreeselection.hgtktreestore.hgtkvbbox.hgtkvpaned.hgtkvruler.hgtkvscale.hgtkvseparator.hdialogs.c<T#q TQYIK uU>W|LH~  r#q   t  t!;ZNG&)l&n "sEO["KJ`@ `@!^"@@3@`@`@@@  @ `@'@@'@@ @ @`@@'@  @ @@ @ @`@'@@@@@@ @@ @@ @@ `@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'|`@`'x`@`'t`@`'p`@`'l`@`'h`@`'d`@`'``@`'\`@`'X`@`'T`@`'P`@`'L`@`'H`@`'D`@`'@`@`'<`@`'8`@`'4`@`'0`@`',`@`'(`@`'$`@`' `@``@`'`@`'`@``@``@``@``@``@``@``@``@``@``@`#\#`#d#h#l#p#t#x#|#########|#x#t#p#l#h#d#`#\#X#T#P#L#H#D#@#<#8#4#0#,#(#$# ### #8#4###### #$#(#,#0#<@ܠ@@@? @@)@ @@  @ `` @@`@@@ @ @`@@@ @ @`@@   @`@`@@`@@   @@#@@ @@  `@ P@`@ P@@``@ P@@ @`㿈@;'@ @`@7'@@ @@`@`@@@  @ @`@@@ @`@@`@@@   @@@@ @@`@@  @  @? @ @`@@   @`@`@@`@@  @ ?@!@@ @@`@ @ @ @@`@@   @`@` @@@@#@@`@`@`@@  @  @ P@@  @ @`@@   @`@`@@`@@  @ ?@!@@ @`@ @ @ @@`@@   @`@ @@@#@@`@`@`@@  @  @ P@@  @ @`@@  @  @`@@`@@  @ ?@!@@ @`@`@ @ @@`@@  @  @ @@@#@@`@`@`@@  @  @ P@@  @ @`@@   @`@`@7@`@@  @ ?@ @@ @`@`@ @ @@`@@   @@@#@ @`@@`@`@@  @  @ @@ @@`@@  @  @?`@`@@`@@  @ ?@!)@@ @`@`@@`@@  @  @?@@`@@   @@@@ @@`@@@@@ @`"   @ @`@@@ @ @`@@@ @ @`@@   @`@`@@`@@   @@@ @@ @@@@  @ #`  @@`@@@ @ @`@@@ @ @`@@   @`@`@@`@@   @@@ @!   @    @ P@@` P@@#`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@`@㿐@ )@  !@@'@`@ @@@  @ @`@@@@ Ȑ@!^@@ @ @@@@@ Ȓ!^@@@@ @@ @@    `@ P@@  P@@@@-'t@ @`!"&@@/@`@@@@  @ `@'@@@@`@@@`@@@   @@@@ @@ @  @ @`@@   @ @ @`@@@ @ @`@@@@@`@@  @  @? @ @`@@   @@@`@@  @ ?@ @@  @ @`@@   @`@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ @@`@@  @ ?@ @@  @ @`@@   @@`@'@@   @ @@@@ @@@ @`@'@@   @`@ t@@@ @`@'@@   @@@ @@'ܠ@ܒ P@ X@``@@@@  @ ?@ X`@@ `@@@@@@ L`@'@ؒ @@`@'@Ԑ@   @`@ @t@@@#``#l#p#d#h #\#`@ @@@ `@'@А@   @@`@'@̐@   @@`@'@Ȑ@   @Ȓ@@#@`@'@Đ@   @@`@'@@   @@@`@@  @ ?@ @@@ @@`@@  @  @? @ @`@@   @ @ @`@@   @@@`@@  @ ?@ @@ `@@@`@@   @@@ @@`@ @@`@@  @ ?@ @@ @`@'@@   @@@#@@`@@  @ ?@ @@  @ @`@@   @@@`@@  @ ?@ @@ `@@@`@@   @@@ @`@@@`@@  @ ?@ @@  @ @`@@   @@@`@@  @ ?@ @@  @ @`@@   @ @ @`@@   @ @ @`@@   @`@@#@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@@   @@@@ @@`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@@`@`@@   @@@ @`@`@@   @@@  @ @`@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@`@`@@  @ ?@ @@  @ @`@@   @ @ @`@@   @ @ @`@@   @`@@/@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ `@@@`@@   @@@ @`@`@@@`@@   @@@ @`@ +@`@`@@  @ ?@ @@  @ @`@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'@@   @@``@'|@|@   @|@``@'x@x@   @x@`@`@@  @ ?@ @@ @@`@@  @  @?@@`@@  @  @?@@`@@   @@@@ @@`@@@@@@ @" `  @ @`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @@`@@@@ @" `` @ @`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @@`@@@@ @ #`  @@`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @`@`@@  @  @?@@ !    @    @@   @ P@@` P@@#`@` P@@`@` P@@`@` P@@ؔ`@` P@@ܔ`@` P@@Ԕ`@` P@@Д`@` P@@̔`@` P@@Ȕ`@` P@@Ĕ`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@`@` P@@|`@` P@@x`@` P@@`@` P@@`@` P@@`@` P@`@t㼐@ `@ !@@3@`@`@@@  @ @`@@'@@ @ @`@@'@  @ @@ @ @@ @!`@@@@@@@ @@ @@ @@ @@ `@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'`@`'|`@`'x`@`'t`@`'p`@`'l`@`'h`@`'d`@`'``@`'\`@`'X`@`'T`@`'P`@`'L`@`'H`@`'D`@`'@`@`'< @`'8`@`'4 @`'0`@`',`@`'(`@`'$`@`' `@``@``@``@`'`@``@`'`@`'`@`'`@`' `@`'`@`'`@``@``@``@``@``@``#\`#p`#|`#`#`# #d`# #t`#ܘ ##` #h##lИ ##x ###Ę ## ###########`# #`# #`#  #`# #$`#, #4`#< #D`#L #T``#\ ##d#######|# x#(t#0p#8l#@h#Hd#P`#X\#`X#h#`#l`#|`#`#`#`#`#` #T#t#pP ##xL #H##D ##@ #<##8 ##4 ###0#,#(#$# #`##`#`##`# #`##`# # `#$#(##d`#####,#0`#4`#D`#L`#T#<` #\#`#@#8#H#P#X@#h@@@? @@'@@@  @ `` @@`@@@ @ @`@@@ @ @`@@   @`@`@@`@@   @@#@@ @@  `@ P@`@ P@@``@ P@@@`㿐`@ @/@!"0@@-@@ @'@@ @+@@)@ @@@@ @" @ `@@@ @"     @@   @ P@@ P@@ P@`@㿐`@ @/@!"0@@-@@ @'@@ @+@@)@ @@@@ @" @ `@@@ @"     @@   @ P@@ P@@ P@`@㿐@ `@!?!r@@7@`@@@@  @ @`@@;@@@ @`@@3@  @  @?@@@  @ @`@@  @ @@ @ @ @@@@! @@@@ @@ @@ @@ @@`@?@@@`@@  @  (?@@@@ @`@@@@@@ " `  @ @`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @@`@@@@  @ #`  @@`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ !    @    @ P@`@ P@@#``@ P@@ `@ P@@`@`㿐@ `@@5@ @`@@@  @ @`@@;@@`@`@@`@@@  @  @?@@@  @ @`@@   @@@`@@  @ ?@ @@  @ @`@@   @ @ @`@@   @ @ @`@@   @`@`@@`@@  @  @?@@ @@`@ `@`@@`@@  @  @?@@ @`@  @ @`@@   @@`@@@   @ @@@@ @ @@@   @@@`@@  @ ?@ Z@@ `@`@5@`@@  @  @?@@ @@`@@  @  2?@@@@ @`@@@@@@ @`"   @ @`@@@ @ @`@@@ @ @`@@   @`@`@@`@@   @@@ @@`@@@@  @ #`  @@`@@@ @ @`@@@ @ @`@@   @`@`@@`@@   @@@ !    @@   @ P@`@ P@@# `@ P@@``@ P@@``@ P@@`@`㿐@ `@@7@`@@@@  @ @`@@%@@`@@5@`@@3@   @@@@  @ @`@@   @@@`@@  @ ?@ @@ `@@@`@@   @@@ @@ @@   @ @@@@ @@`@@  @ ?@ Z@@ @@`@@  @  (?@@@@ @`@@@@@@ " `  @ @`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @@`@@@@  @ #`  @@`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @!   @    @ P@`@ P@@#``@ P@@ `@ P@@`@`㿐@ `@@7@`@@@@  @ @`@@5@@`@@3@`@@@  @ ?@!@@@ @@ @  @ @`@@   @`@@@`@@   @@@ @`@ @ @ @`@@@   @ @@@@ @ @`@@   @@@ `@@@`@@  @  @?@@ @@`@@  @  (?@@@@ @ @@@@@@ @" `` @ @`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@ @@`@@@@  @ #`  @@`@@@ @ @`@@@ @ @`@@   @`@@@`@@   @@@    `@@!   @    @ P@`@ P@@#``@ P@@ `@ P@@`@`help_windowgproftpdGProftpd helpvbox15scrolledwindow16help_textview When gproftpd is started it checks if you have all required files and that the environment is ok. If you have just upgraded you should check out the homepage if any additions to the configuration are necessary in order to take full advantage of all its features. Proftpd must be installed and located somewhere in the environments path variable When you add a user you can randomize its name and password or use your own. You can also select its login shell and where this user should have its root directory and upload directory. If the selected shell is /bin/false, /sbin/nologin etc the user can only login to this ftpserver otherwise that user gets a private home directory as well as its ftp directory and can login via ssh etc if that server allows this user to do so. The upload directory must be located below the users root directory. If you dont want that user to have an upload directory you can uncheck the checkbox next to it. If you want to add directories thats not under the users root directory you can do this: Linux (as of kernel 2.4.0): mount --bind /some/directory/to/share /home/ftp/make_this_directory_first Alternatively: mount -o bind /var/data /home/ftp/bob/data *BSD (as of 4.4BSD): mount_null /var/data /home/ftp/bob/data Solaris: mount -F lofs /var/data /home/ftp/bob/data If you want automatically generated statistics you can use gprostats with crond or press the welcome and html statistics buttons in the files tab to make them once. With crond and gprostats you can do this to have it automatically update the statistics: gprostats -html /path/to/output.html gprostats -w welcome.msg or both at the same time: gprostats -html /path/to/output.html -w welcome.msg Use -c /path/to/proftpd.conf -x /path/to/xferlog if you need to. If you have made customized welcome messages and dont want them overwritten by gprostats you can configure this by doubleclicking a user and unchecking update statistics. then pressing the change button, this will also exclude the user from the html output. Some typical setups: If one or more of your users needs to have upload access to a http servers directory: 1. Set the users ftp root directory to the webserver's root directory /var/www/html or /var/www/html/this_users_directory for a private homepage. 2. Take away all text from the upload directory field 3. Make sure the checkbutton next to the upload directory is checked. Press the add button to add this user. 4. You can now login as this user and upload to the html directory. To add anonymous readonly access to a directory you can do this: 1. Type anonymous in the username field. Press the password randomize button or type any password you want. Select the /bin/false shell. Uncheck the upload checkbutton, this is important. Press add to add this anonymous user. 2. Doubleclick that user in the users tab and set require password to off then check that this user isnt banned then press the change button. 4. You can now login as anonymous with no password. This is the default setting, one upload directory and a readonly ftp root directory: Root directory: /home/ftp Upload directory /home/ftp/upload The users can then upload files in the upload directory and download from the ftp root directory where you can put what you want to share. You can easily add more servers to run on different interfaces and ports. When a user connects to one address and port it gets access according to that servers configuration but only if the server is selected to bind to addresses. There are two directives used for this: Bind and SocketBindTight. If you want to turn off a server without deleting it you can set its port value to 0 If this Proftpd server is behind a NAT gateway you should specify the gateways DNS name or IP address otherwise turn it off. If you copy or move a file directly to the ftpservers directory you may need to chmod it with 644 and chmod directories to 755 so that the directory and file can be accessed. This is one way of chmodding all files recursively in the directory /home/ftp: find /home/ftp -type f -exec chmod 644 -v {} \; Upload directories should have a chmod of 777 and this can be used for /home/ftp/upload find /home/ftp/upload -type d -exec chmod 777 -v {} \; For more detailed information about the server and its configuration directives visit: http://www.proftpd.org close_help_buttonalignment19hbox52gtk-closeimage19Closelabel109clicked?shutdown_windowMinutes before real shutdown.Shutdownvbox17The server will shut down according to these settings.label141hseparator35hbox134Time to real shutdown:label146real_shutdown_entrynow, +Minutes or HHMM+30label251hbox78New access disabled:label142new_acc_disabled_entry20label144hbox79Existing users disconnected:label145exist_users_dc_entry10label148hbox81Shutdown message:label147shutdown_msg1_entry%s , Current connections will be dropped: %dlabel152hseparator49Pressing the online button will let users login again.label252hseparator34hbuttonbox9shutdown_cancel_buttonalignment37hbox83gtk-cancelimage37Cancellabel154shutdown_ok_buttonalignment36hbox82gtk-applyimage36OKlabel153tooltips?<# =# info_windowinfo_textviewGProFTPD informationscrolledwindow15mapuser_settings_windowUser settingsvbox16These are the settings for this user.label349scrolledwindow19viewport4vbox54hseparator103changer_rootdir_hboxlabel350vbox55Username: label113Password: label139Group: label115Require password:label233Allow logins from:label175Maximum logins: label235Message: label131Root directory: label117Update statistics:label301Banned:label371label351vbox56settings_username_entrysettings_password_entryType a password longer then 6 chars to change.settings_group_entryGladeParentKeycombo17yesnosettings_require_password_entrysettings_login_from_entryall,none,192.168.0.,host.domain.edu,.trusted-domain.orgsettings_max_logins_spinbuttonsettings_max_logins_entrysettings_homedirectory_entrygplock_checkbuttonbanned_checkbuttonlabel352changer_rootdir_hseparatoruploaddir_vboxhbox248label363Upload directory:label217label354settings_uploaddirectory_entrylabel355hbox249label356This user is permitted to do the following in this directory:label244label357hbox250label358vbox58hbox251vbox60List:label222Upload:label223Append:label231Download:label224Rename:label226Delete:label237Create directory:label225Remove directory:label230label364label361vbox61uldir_list_checkbuttonuldir_upload_checkbuttonuldir_append_checkbuttonuldir_download_checkbuttonuldir_rename_checkbuttonuldir_delete_checkbuttonuldir_createdir_checkbuttonuldir_removedir_checkbuttonlabel359vbox59hbox252vbox62Site:label229Show dates:label239Show current path:label241Show filesize:label242Change working directory:label243Change mode:label238Change group:label247Cdup:label249Show connection settings:label248label362vbox63uldir_site_checkbuttonuldir_showdate_checkbuttonuldir_showwd_checkbuttonuldir_showsize_checkbuttonuldir_changewd_checkbuttonuldir_chmod_checkbuttonuldir_chgrp_checkbuttonuldir_cdup_checkbuttonuldir_stat_checkbuttonlabel360hseparator101hseparator32hbuttonbox3userdel_buttonalignment29hbox64gtk-removeimage29Deletelabel124userchange_buttonalignment28hbox63gtk-refreshimage28Changelabel123close_user_settings_buttonalignment26hbox61image26label121label365??A.~@$credits_windowAboutvbox1scrolledwindow1Macedoniancredits_textviewAuthor: I want to thank the following for their contributions:for the icons and the weblogo. for coding support and testing. The people at the GTK+ development lists. for the RPM spec file.And all translators:AfrikaansAmharicArabicAzerbaijaniBasqueBulgarianBretonBrittish-EnglishBosnianByelorussianCatalanChineseChinese-TaiwanCroatianCzechDanishDutchEsperantoEstonianFinnishFrenchGalicianGermanGreekHebrewHiniHungarianIcelandicIndonesianIrishItalianJapaneseKoreanKurdishLatvian-LettishLithuanianMaoriMalteseNorwegianPolishPortuguesePortuguese-BrazilRomanianRussianSerbianSlovakSlovenianSpanishSwedishTamilThaiTurkishTraditional ChineseUkrainianVietnameseWallonWelchAnd a big thanks to the Proftpd team. Nestor Diaz Marcus von Appen (am) NAME (az) NAME (bg) NAME Julle (en_GB) NAME Rudolf Kastl (be) NAME (af) NAME (ar) NAME (eu) NAME (br) NAME (bs) NAME (ca) NAME (zh_CN) NAME (hr) NAME (cs) NAME (dk) NAME (nl) NAME (eo) NAME (et) NAME (fi) NAME (fr) NAME (gl) NAME (de) NAME (el) NAME (he) NAME (hi) NAME (hu) NAME ------------------------------------------------------------------------- (is) NAME (zh_TW) NAME (id) NAME (it) NAME (ko) NAME (lv) NAME (mi) NAME (mt) NAME (pl) NAME (pt_BR) NAME (ga) NAME (ja) NAME (ku) NAME (lt) NAME (no) NAME (pt) NAME (mk) NAME (ro) NAME (ru) NAME (sr) NAME (sk) NAME (sl) NAME (es) Diego Escalante (sv) Magnus Löf (ta) NAME (th) NAME (tr) NAME (uk) NAME (vi) NAME (wa) NAME (cy) NAME Magnus Löf close_credits_buttonalignment18hbox51image18label108?Choose the users root directoryuserdir_selectionuserdir_select_ok_buttonuserdir_select_cancel_buttonChoose an upload directory (must be below the users directory)useradd_incoming_selectionincoming_directory_ok_buttonincoming_directory_cancel_buttondefault_question_windowGProftpd questionvbox18label182no_default_question_buttonscrolledwindow18default_question_textviewGProftpd could not find proftpd.conf or you are using the basic configuration wich doesnt have all features that gproftpd's default configuration has. If you use proftpd's default configuration and dont want to see this question again, take away the line: # Port 21 is the standard ftp port. Do you want to overwrite proftpd.conf with GProftpd's default configuration ? (If you dont know then press yes) hbuttonbox11yes_default_question_buttonalignment44hbox98gtk-yesimage44Yeslabel184alignment45hbox99gtk-noimage45Nolabel185?password_question_windowGProFTPD Passwordvbox25dont_change_password_buttonThis user already existed in the system.label284hbox222label285vbox27hbox223vbox28Username:label292New password: label296vbox29password_change_username_entrypassword_change_password_entrylabel286Do you want to change the users password ?label289hbuttonbox12change_password_buttonalignment48hbox228image48label303alignment47hbox227image47Dont changelabel302?userdel_question_windowDelete the system user ?vbox31Do you also want to delete the system user ?label297question_userdel_delete_buttonhbox225label298Username: label299userdel_question_entrylabel300hbuttonbox13question_userdel_cancel_buttonalignment49hbox229image49label304alignment50hbox230image50label305?add_systemuser_question_windowAdd this needed master ftpuser ?vbox64GProftpd needs to add the user and group the server will runs as.add_systemuser_yes_buttonlabel374hbox253User and groupname:label375add_systemuser_entrylabel376This action is necessary, do you want to do it ?label380hbuttonbox14add_systemuser_no_buttonalignment51hbox254image51label378alignment52hbox255gtk-okimage52label379? |   -  -  - 1 -  -  -  -  -  ` - p -  - h*create_help_windowcreate_shutdown_windowcreate_info_windowcreate_user_settings_window ccreate_credits_window!mcreate_userdir_selection"create_useradd_incoming_selection"create_default_question_window$ncreate_password_question_window&create_userdel_question_window(create_add_systemuser_question_windowicon_factoriestooltipsxthicknessfont_descythicknessparent_instancecolormapunsigned int   M<!2\u )Aff `2HYr ]t+:Ug+_,JiH%L^q8L[ew81 .O]x &;Oiphp   Cdialogs.ccreate_credits_windowgtk_tooltips_newon_question_userdel_delete_button_clickedgtk_entry_set_max_lengthg_signal_connect_datagtk_hseparator_newgtk_misc_set_paddinggtk_scrolled_window_get_typegtk_entry_set_textgtk_window_get_typegtk_entry_newg_freegtk_label_newgtk_button_newgtk_adjustment_get_typeon_add_systemuser_yes_button_clickedgtk_text_view_set_left_margingtk_window_set_positionon_change_password_button_clickedgtk_widget_unrefcreate_password_question_windowon_yes_default_question_button_clickedgtk_file_selection_get_typegtk_label_set_justifygtk_box_pack_endgtk_widget_set_sensitivegtk_widget_set_namegtk_box_get_typegtk_widget_destroycreate_help_windowcreate_useradd_incoming_selectiongtk_widget_showg_object_set_datagtk_container_get_typegtk_combo_get_typegtk_widget_refg_type_check_instance_castgtk_container_addgtk_button_box_get_typegtk_text_view_set_pixels_above_lineson_shutdown_ok_button_clickedgtk_widget_set_size_requestgtk_adjustment_newgtk_file_selection_newgtk_check_button_new_with_mnemoniccreate_default_question_windowgtk_container_set_border_widthon_user_settings_delete_button_clickedgtk_misc_get_typegtk_text_view_get_bufferdgettextgtk_tooltips_set_tipcreate_info_windowgtk_viewport_newon_incoming_directory_ok_button_clickedgtk_file_selection_hide_fileop_buttonsgtk_text_view_newgtk_label_get_typegtk_scrolled_window_newgtk_box_pack_startgtk_label_new_with_mnemonicgtk_combo_set_popdown_stringsg_object_set_data_fullon_info_window_mapgtk_image_new_from_stockgtk_scrolled_window_set_policygtk_hbutton_box_newcreate_userdir_selectionon_user_settings_change_button_clickedcreate_add_systemuser_question_windowcreate_user_settings_windowgtk_text_buffer_set_texton_userdir_select_ok_button_clickedgtk_hbox_newgtk_editable_get_typegtk_text_view_set_cursor_visiblegtk_combo_newgtk_text_view_set_editablegtk_vbox_newgtk_object_get_typeg_list_freegtk_text_view_get_typegtk_alignment_newg_strconcaton_add_systemuser_question_window_mapgtk_window_newcreate_shutdown_windowgtk_window_set_titlegtk_spin_button_newgtk_button_box_set_layouton_no_default_question_button_clickedcreate_userdel_question_windowg_list_appendgtk_text_view_set_right_margingtk_editable_set_editablegtk_entry_get_typegtk_misc_set_alignmentgtk_scrolled_window_set_shadow_typegtk_text_view_set_justification VQQ88 H<8z8 )8 q8 # - <- HH  8 9#  - ;8_  HH8A8EM< S M< [![!]t"5]t"9_,"_,"f$f$ph'ph'w) w)  ,d%x-5=EMU]emu} ,4<<DL`Ddpxx %-5=EMU] e m u }  4 D H L T \ |            < l' / 7 A I Q Y a i t | ( < H L P X ` t              4$ D, P4 T< XD `L hT \ d l t |     , D L P T \ d         $$4,H4T<XD\LdTl\dlt|$<DHLT\| $ ,40<<D@LDTL\Tdtlt| $,04<Dd $,4<D$L(T,\4d<l\tp|px| $,L`&.6>FNV^fn v~4D`dhpx,48<&D.L6l>FNV^fnv~ (48<DL`ptx&.6>FNV^fnv ~(0DPX\`hlp|&.6>FNV(^DfHnLvT~\|0` HLTX\dtt (08@HPX`h8pDxLThx8<<HPTX`pp"*2:BMX`hp x(0\|(,08 @(T0\8`@dHlPtX`hpx(8LX\`hp (08@ H ,P 0X 4` <h Dp dx x        !!4!8!<!D!L!l! ! ! ! ! ! (! 0! 8" @"$ H"< P"@ X"D `"L h"T p"t x" " " " " " " " # #, #D #H #L #T #\ #| #!#!#!#!#! #!(#!0$!8$!@$4!H$L!P$P!X$T!`$\!h$d!p$!x$!$!$!$!$!$!$!$!%!%!%(!%,!%0!%8!%@!%`!%h"%p"%p"%x"%" %"(%"0%"8%"@%"H%"P%"X&"`&"h&("p&L"x&`"&h"&p"&p"&x"&"&"&"&"&"'"'"'0"'@"'`"'"'#'#'#'#'# '#('#0'#8'#@'#H'#P'#X'#`(#h(4#p(P#x(#(#(#(#(#(#(#(#(#(#)#) #),#)4#)<#)<#)D$)L$)l$)$)$ )$()$0)$8)$@)$H)$P)$X)$`)$h)$p*$x*$* $*$*$* $*@$*P$*l$*t$*x$*|$*$*$*$*$*$*%*%*%*%+% + %(+%0+%8+%@+$%H+D%P+L%X+P%`+T%h+\%p+d%x+%+%+%+%+%+%+%+%+%, %,8%,@%,D%,H%,P%,X%,x&,&,&,&,& ,&(,&0,&8,&@,&H,&P,&X-&`-&h-&p-0&x-@&-T&-`&-d&-h&-p&-x&-&-&-&-&-&-&-&-&-&.'.'.'.$'.,' .L'(.`'0.'8.'@.'H.'P.'X.'`.'h.'p.'x.'.'.'/'/'/('/0'/4'/8'/@'/H'/h'/x'/'/'/'/(/(/(/(/( /((/(0/(8/(@0(H0 (P0$(X0((`00(h08(p0X(x0h(0h(0p(0t(0x(0(0(0(0(0(0(0(0(1(1 (1,(1@)1`) 1x)1|)1)"1)*1)21):1)B1)J2)R2)Z2)b2$)j2,)r2L)z2`)2)2)2)2)2)2)2)2)3)3)3 )3$)3,)34)3T)3h*3* 3*3*3*"3**3*23*:3*B4 *J4$*R4(*Z4,*b44*j4<*r4\*z4p*4*4*4*4*4*4*4*4*4*4*4*4*5*5$*58*5D+5H+ 5L+5T+5\+"5|+*5+25+:5+B5+J5+R5+Z5+b5+j5+r5+z5+5+6+6 +6 +6+6+6<+6D+6L+6L+6T+6\+6|+6+6+6,6, 6,6,6,"6,*6,26,:6,B6,J7,R7 ,Z7 ,b7,j7,r7<,z7D,7L,7L,7T,7\,7|,7,7,7,7,7,7,7,7,7,7,7-7- 8-8$-80-"84-*88-28@-:8H-B8h-J8t-R8x-Z8|-b8-j8-r8-z8-8-8-8-8-8-8-8-9-90-9H-9L-9P-9X-9`-9-9.9. 9.9.9.%9.-9.5:.=:.E:8.M:P.U:T.]:X.e:`.m:h.u:.}:.:.:.:.:.:.:.; .; .;@.;X.;\.;`.;h.;p.;.;/;/ ;/;/;/%;/-;/5</=<(/E0E> 0M> 0U>0]>0e><0m>D0u>L0}>L0>T0>\0>|0>0>0>0>0>0>0>0>0>0>0>0>0?1? 1 ? 1?1?1%?<1-?D15?L1=?L1E?T1M?\1U?|1]?1e?1m?1u?1}?1?1?1?1?1?1?1?1@1@ 1@ 1@1@1@<1@D1@H1@L2@T2 @\2@|2@2%@2-@25@2=@2E@2M@2U@2]@2e@2m@2uA2}A2A2A02A@2AH2AL2AP2AX2A`2A2A2A2A2A2A2A2A3B3 B3B 3B$3%B,3-B435BH3=BT3EBX3MB\3UBd3]Bl3eB3mB3uB3}B3B3B3B3B3B3B3B3B3C3C,3C43C83C<3CD3CL3C`4Cx4 C4C4C4%C4-C45C4=C4EC4MC4UC4]C4eC4mD4uD 4}D4D4D 4D@4DX4D\4D`4Dh4Dp4D4D4D4D4D4D4D4D5D5 D5D5D5%D5-E55E5=E5EE5ME5UE 5]E(5eE<5mEH5uEL5}EP5EX5E`5Et5E5E5E5E5E5E5E5E5E5E5E5F 5F 6F(6 F,6F06F86%F@6-F`65Fp6=F6EF6MF6UF6]G6eGD6mGt6uG6}G6H6H46Hd6H6H6H6I$6IT6I6I6I6J6JD6Jt6J6J7K7 K47Kd7K7%K7-K75L$7=LT7EL7ML7UL7]M7eM<7mM@7uMH7}MP7MP7MX7Mh7M7M7M7M7M7M7M7M7N7N7N 7N7N8NH8 Nl8N8N8%N8-N85N8=N8EN8MN8UN8]N8eN8mO8uO$8}Y\8Y|8Y8Y8Y8Y8Y8Y8Y8Y8Y8Y8Y8Z8Z8Z 8Z$9Z(9 Z09Z89ZL9%Z\9-Z`95Zd9=Zl9EZt9MZ9UZ9]Z9gZ9oZ9wZ9Z9Z9Z9Z9[9[89[T9[9[9[9[9[9[9[9[9[9\:\:\0:\0:\H:'\H:1\P:9\`:A\l:I\t:Q\:Y\:a\:i\:q\:y\:] :]8:]P:]t:]x:]:]:]:]:]:]:]:]:]:]:^;^; ^;^;^$;#^,;+^P;3^`;;^l;C^t;K^;S^;[^;c^;k_;s_,;{_0;_8;_@;_@;_H;_X;_;_;_;_;_;_;_;_;_;_;_<_< `<` <` <'`8c>c>c>c>'c>/c>7c>?c>Gc>Oc>Wc>_c>gc>oc>wd>d>d >d>d(>d4>d8>d<>dD>dL>d`>dp>dt>dx>d>d>d>d?d?d?d?d?'d?/e ?7e0??eP?Gel?Oe?We?_f?gf ?of?wf?f?f$?f$?f`?ft?f?f?f?f?f?f?f?f?f?f?f@f@ g@g(@gH@$gT@,gX@4g\@<gd@Dgl@Lg@Tg@\g@dg@lg@tg@|g@g@g@g@h@h@h @h@h4@h@@hD@hH@hP@hX@hx@h@hAhA hAhAhA$hA,hA4hA<hADhALiATi A\i4Adi`Ali|AtiA|iAiAiAiAiAiAiAjAjAj AjAjAj<AjDAjLAjLAjTBj\B j|BjBjB$jB,jB4jB<jBDjBLjBTjB\jBdjBljBtkB|k$Bk4BkHBk\Bk\BkdBkhBklBktBk|BkBkBkBkBkBkBkCkClClCl,C&l4C.l<C6l<C>lDCFlLCNl`CVl|C^lCflCnlCvlC~lClClClClClClClClClClCmCmCmCmCm$Cm,DmLDmhDmlDmpD&mxD.mD6mD>mDFmDNmDVmD^mDfmDnmDvmD~nDnDn DnDnDn Dn$Dn,Dn4DnHDnTDnXDn\DndDnlDnDnEnEnEnEnE&nE.nE6nE>nEFnENnEVoE^o0EfoTEnoEvoE~oEpEp0EphEplEptEp|Ep|EpEpEpEpEpEpEpEpEpFqFq$Fq$F"q,F*q0F2q4F:q<FBqDFJqDFUqpF]qFeqFmqFuqF}qFqFqFqFqFqFqFqFrFr$Fr8FrPFrTFrXFr`FrhFrGrG rGrGrG%rG-rG5rG=rGEsGMs GUsG]sGesGms$GusDG}sTGshGspGstGsxGsGsGsGsGsGsGsGsGsGsGtGt,HtHH tLHtPHtXH%t`H-ttH5tH=tHEtHMtHUtH]tHetHmtHutH}tHtHtHu HuHuHuHu$HuDHuXHudHulHutHuHuHuHuIuI uIuIuI%uI-uI5uI=uIEuIMuIUuI]uIevImvIuvI}v$Iv4Iv8Iv<IvDIvLIvlIvIvIvIvIvIvIvIwIw Iw<JwpJ wJwJwJ%wJ-wJ5wJ=wJEx,JMx@JUxLJ]xPJexTJmx\JuxdJ}xdJxJxJxJxJxJxJxJxJxJxJyJy4Jy@JyDJyHKyPK yXKyxKyK"yK*yK2yK:yKByKJyKRyKZzKbzKjz$Krz$Kzz,Kz4KzTKz`Kz|KzKzKzKzKzKzKzKzKzKzKzK{L{$L {4L{HL{PL"{TL*{XL2{`L:{hLB{LJ{LR{LZ{Lb{Lj{Lr{Lz{L{L| L|(L|,L|0L|8L|@L|TL|`L|dL|hL|pL|xL|L|L|M|M |M|M|M"|M*|M2|M:|MB}MJ}$MR}8MZ}DMb}LMj}TMr}hMz}tM}|M}M}M}M}M}M}M}M}M}M}M}M}M}M}M}N}N ~N~N~N"~N*~$N2~,N:~LNB~dNJ~hNR~lNZ~tNb~|Nj~Nr~Nz~NN$N@NtNN`  %$4,0 </H L P=T \bh/p|Y 0 0%*,/0E 8% 8*&/F /$L,C4 P8 P<%D*P/X0`\p/xX/V//h ` `=   =  0 0=  x x=   =   $  (=, 4 8 <=@ H L P=T \ p` pd=h p t x=|   =  @ @=   =   =   =  P P=   =   = $  (  ,=0 8 x< x@=D L P T=X ` d h=l t hx h|=   =   =  ` `=   =  0 0=   =   =   = ( P, P0=4 < @ D=H P T X=\ d h l=p x @| @=   =   =   =   =  h h=   =    =  @ @ =$ , `0 `4=8 @ D H=L T X \=` h l p=t | h h=   =   =  P P=   =   =  ( (=   =   $=( 0 84 88=< D pH pL=P X \ `=d l p t=x  h h= 8^H/P<\Rpx| % */F    ] % */0 T   %   * $/ ,0 4  <K @  D  L% P  T* `/ tF |   =  G  %  * / F D  / " Z / '   '    $/ , 0 4+ @/ L. X P \ P ` dI p/ |.  I    `  %  ,  / 9  /   (   =  ( b ,/ 4 @Y H 8 P% T 8 X* d/ l0 t  x @ |  = @  x % x * & / F D / "   %   * / ,F <4 HT P  X% \  `* l/ F    =    %  * / F 4 / " ; /      $k (  0/ < D L  T% X  \* h/ |F    =  > j /  /       %  */F,48/@"LTT \%` d*p/F   =  0% 0*/F4/"/   k (/4<D @L%P @T*`/tF|  = >// X X  `% `*/F4 /("4T< pD%H pL*X/lFt x x| = x % */F4/"/   k /$, 4%8 <*H/\Fd h l=p >//    % */F4/"T$ ,%0 4*@/TF\ ` d h=l px % */F4/"/   k /  % $*0/DFP/Xd/l t  x |=    P% P*/F4/" `% ` */,F<4D H pL P=T pX` h%l p*|/F4/"/   k  % */F$4,M4 <%@ D*P/dFl1x/d % */0Z/    ] %  */ 0,T4 <%@ D*P/X0` hKl p x%| */F    =  G (% (*/F/" 8 %$ 8(*4/<0H/P T \ h t]| P% P*/0T `% `*/0 hK h x% x* / F( , 0 4=8 <GD L%P T*`/tF/"/ '  ' 3 3  / + / .    (I, 4/@.L @P XI\ @d/p.|  I /.  I /.  I /. 8 8I $/, 0 4+L`T \%` l4tx /   = b/E % *,/04$/0L8CD%H L*X/`0p4x\/X/V/J  J  /+ / .  $I( < @ H`P X%\ h4pt / ( (= b/Y 8 8%*,/0 @ @=  h %$ h(*0&@/TF\Dl/t"|;/E x% x*/F@ % * /0 Y( 0%4 8*D/L0T\ d%h l*x/F4T % */F  % * / F04</D"PYX `%d h*t/F  =  % */F/"/ "`  "\  "` k  "\     =  $ , ( 4% 8 ( <* H/ \F h/ p" |/ "` "\ "` k "\ 8 8 =   P % P * / F / "!/! "\! "`! "\!k! "`! `! `!$=!( !,!4 x!<%!@ x!D*!P/!dF!p/!x"!/! "`! "\! "`!k! "\! ! !=! !! !%! !*!/!F!/!""/" "\" "`" "\"k" "`"$ "( ",="0 "4"< "D%"H "L*"X/"lF"x/"""/" "`" "\" "`"k" "\" " "=" "" "%" "*"/"F"/#"#/# "\# "`# "\#$k#( "`#, #0 #4=#8 #<#D #L%#P #T*#`/#tF#/#"#/# "`# "\# "`#k# "\# (# (#=# ## @#%# @#*#/#F$/$ "$/$ "\$$ "`$( "\$,k$0 "`$4 P$8 P$<=$@ $D$L X$T%$X X$\*$h/$|F$/$"$/$ "`$ "\$ "`$k$ "\$$ $ h$%$ h$*$/$F%4% /%"% Y%( x%0%%4 x%8*%D/%XF%`%h %l %p%%x*%/%F%$%j%/%%U%/%i%% % %%&*& /& F&( &, &0=&4 &D>&P/&X&`&h &l &p%&x*&/&F&/&&W&-&/&/& &+& & & &%'*'&'/'(F'84'@ 'D 'H='L 'Tg'` 'd 'h='l 'tg'/'H'['/'  '  '%'*'$'' @' @'%'*'/(F( `( `(=( (,>(4j(@/(H(P "x(T "h(X "x(\ "p(` "h(d "p(5((/( "h( "l( "h(c( ( (%(*(/(F(( ( (%)*)/)$F),)4 )8 )<%)D*)P/)dF)p/)x)7) ) ) )%)*)/)F)7) ) ) )%)*)/)F** * (*%* (***$/*8F*H4*PD*\/*d"*l*t 8*|%* 8***/*F*4*Y* X*%* X***/*F+T+ h+%+ h+*+(/+<F+D+H +L p+T%+X p+\*+h/+|F+4+/+"+ + +=+ ++ +%+ +*+/+F+/,", ;,/,$ "\,( "`,, "\,0k,4 "`,8,< ,@ ,H%,L ,P*,\/,pF,4,/,",, , ,%,*,/,F,/,,, , -%- -*-/-(F-84-D/-L"-XT-` -h%-l -p*-|/-F-- - -%- -*-/-F-4-/-"- . .=. . . @.%. @.$*.0/.DF.P/.X".d/.l "\.p "`.t "\.xk.| "`.. . P.%. P.*./.F.4./.".T. `.%. `/*/ // F/(/, /0 h/8%/< h/@*/L//`F/p4/|//"/Y/ x/%/ x/*///F/T/ /%/ /*//0 F0Y0 0(%0, 00*0</0PF0X 0\ 0`=0d 0h0l 0p 0x%0| 0*0/0F0/0"0/0 "`0 "\0 "`0k0 "\0 0 0=0 00 0%1 1*1/1$F10/18"1D/1L "\1P "`1T "\1Xk1\ "`1` 1d 1h=1l 1p1x 1%1 1*1&1/1F1D1/1"1;1/1 "\1 "`1 "\1k1 "`1 2 2=2 2 2 2%2 2$*20/2DF2P/2X"2d/2l "\2p "`2t "\2xk2| "`2 2 2=2 22 2%2 2*2/2F2/2"2/2 "`2 "\2 "`2k3 "\3 3 3 =3 33 3$%3( 3,*38/3LF3X/3`"3l/3t "\3x "`3| "\3k3 "`3 (3 (3=3 33 @3%3 @3*3/3F3/3"3/3 "`3 "\4 "`4k4 "\4 P4 P4=4 44$ h4,%40 h44*4@/4TF4`/4h"4t/4| "\4 "`4 "\4k4 "`44 4 x4%4 x4*4/4F4/4"44 4 4%4 4*5/5F5(/50"5<Y5D 5L%5P 5T*5`/5tF5|75 5 5 5%5*5/5F575 5 5 5%5*5/5F576 6 6 6 %6*6 /64F6<76@ 6D 6H 6L%6T*6`/6tF6|76 6 6 6%6*6/6F676 6 86 86%6*6/6F677 7 X7 X7 %7*7 /74F7<77@ 7D x7H x7L%7T*7`/7tF7|7 7 7%7 7*7/7F747/7"7Y7 7%7 7*8/8F8(T80 88%8< 8@*8L/8`F8lY8t 8|%8 8*8/8F8 8 8=8 88 8%8 8*8/8F9/9"9/9 "`9 "\9$ "`9(k9, "\90 94 98=9< 9@9H 9P%9T 9X*9d/9xF9/9"9/9 "\9 "`9 "\9k9 "`9 9 9=9 99 9%9 9*9/9F:/:":/:$ "`:( "\:, "`:0k:4 "\:8  :<  :@=:D :H:P 0:X%:\ 0:`*:l/:F:/:":/: "\: "`: "\:k: "`: @: @:=: :: `:%: `:*:/;F;/;";$/;, "`;0 "\;4 "`;8k;< "\;@ p;D p;H=;L ;P;X ;`%;d ;h*;t/;F;/;";/; "\; "`; "\;k; "`; ; ;=; ;; ;%; ;*;/< F</< "<,/<4 "`<8 "\<< "`<@k > > > %>*> />4F><7>@ >D (>H (>L%>T*>`/>tF>|7> > H> H>%>*>/>F>7> > h> h>%>*>/>F>7? ? ? ? %?*? /?4F?<7?@ ?D ?H ?L%?T*?`/?tF?|7? ? ? ?%?*?/?F?7? ? ? ?%?*?/?F?7@ @ @ @ %@*@ /@4F@<@@ @D !@L%@P !@T*@`/@tF@4@/@"@@ !@%@ !@*@/@F@4@@ !(A%A !(A*A/A(FA84A@MAH !8AP%AT !8AX*Ad/AxFA1A/AdAA !HA%A !HA*A,A/A0AZA/B "\B "`B "\B "`B]B !XB$%B( !XB,*B8/B@0BLTBT !hB\%B` !hBd*Bp/Bx0B !pBKB !pB !B%B !B*B/BFB !B !B=B BGB !B%B !B*B/CFC/C$"C,C4 !C<%C@ !CD*CP/CX0Cd/Cx "\C| "`C "\C "`C]C !C%C !C*C/C0CTC !C%C !C*C/C0C !DKD !D !D%D !D*D$/D8FD@ !DD !DH=DL DPGDX !D`%Dd !Dh*Dt/DFD/D"DD "D%D "D*D/D0D/D "`D "\D "\D "`E]E " E%E " E *E,/E40E@TEH "0EP%ET "0EX*Ed/El0Et E|KE E "8E%E "8E*E/EFE E E=E EGE "@E%E "@E*E/FFF/F"F F$ F( "PF0%F4 "PF8*FD/FXFFh4Ft/F|"F F: F F: FFO FO F FF/F' F' F FF/G G+G G/G .G( G0 G4 G<IG@ GH/GT.G` Gd GlIGp Gx/G.G G GIG G/G.G  G GIG  G/G.G G GIH H/H.H @H$ H,IH0 @H8/HD.HP HT H\IH` Hh/Ht.H H HIH H/H.H H HIH H/H.H H HIH H/I.I I III I(/I4.I@ ID ILIIP IX/Id.Ip It I|II I/I.I I III I/I.I I III I/I.J J J IJ J/J$.J0 J4 J<IJ@ JH/JT.J` 8Jd JlIJp 8Jx/J.J XJ JIJ XJ/J.J xJ JIJ xJ/J.J J JIK K/K.K (K$ K,IK0 (K8/KD.KP HKT K\IK` HKh/Kt.K hK KIK hK/K.K K KIK K/K.K K KIK K/L.L L LIL L(/L4.L@ LD LLILP LX/Ld.Lp Lt L|IL L/L.L !HL LIL !HL/L.L !L LIL !L/L.M "M M IM "M/M M$ M(+M@`MH "ML "MP%M`4MhMl Mx/M "M "M=M MbM/MMYM "M%M "M*M,M/M0MEN "N %N "N*N&N,/N@FNHNX/NdLNp/NxlNCN "N "N "N%N*N/N0N\N/NXN/NmN/NVO/O2O/OO$ "O( "O,=O0 O8 "O< "O@=OD OL # OP # OT=OX O` #@Od #@Oh=Ol Ot #hOx #hO|=O O #O #O=O O #O #O=O O #O #O=O O #O #O=O O #O #O=O O #O #O=O P #P #P=P P $P $P=P P( $P, $P0=P4 P< $P@ $PD=PH PP $0PT $0PX=P\ Pd $8Ph $8Pl=Pp Px $HP| $HP=P P $PP $PP=P P $XP $XP=P P $hP $hP=P P $xP $xP=P P $P $P=P P $P $P=P Q $Q $Q =Q Q $Q $Q =Q$ Q, $Q0 $Q4=Q8 Q@ $QD $QH=QL QT $QX $Q\=Q` Qh $Ql $Qp=Qt Q| $Q $Q=Q Q $Q $Q=Q Q $Q $Q=Q Q $Q $Q=Q Q %Q %Q=Q Q %Q %Q=Q Q % Q % Q=R R %(R %(R=R R %0R %0R$=R( R0 %@R4 %@R8=R< RD %HRH %HRL=RP RX %PR\ %PR`=Rd Rl %`Rp %`Rt=Rx R "R=R R %pR %pR=R R "R=R R %xR %xR=R R %R %R=R R %R %R=R R %R %R=R S %S %S =S S %S %S =S$ S, %S0 %S4=S8 S@ %SD %SH=SL ST %SX %S\=S` Sh %Sl %Sp=St S| %S %S=S S &S &S=S S &S &S=S S &S &S=S S &S &S=S S & S & S=S S &8S &8S=T T &HT &HT=T T &XT &XT$=T( T0 &`T4 &`T8=T< TD &hTH &hTL=TP TT &TX &T` &Td &Tl &Tp &Tx &T| &T &T &T 'T 'T 'T 'T ' T ' T '8T '8T 'XT 'XT 'pT 'pT 'T 'T 'U 'U 'U 'U, 'U4 'UD 'UH 'U (U (U (U (U (0U (0U (HU (HU (`U (`U (xU (xU (U (U (U (U (V (V (V (V (V (V )V$ )V, ) V0 ) V4 )8V< )8VD )PVH )PVL )hVP )VT )hV\ )V )V )V )W )W *W *W *W *W *0W$ *0W, *HW0 *HW8 *`W< *`WD *xWH *xWP *WT *WX *W\ *Wp *Wx *W *W *W *W *W +W +W + W + W +8W +PW +8W +PX, +hX0 +hX@ +XD +XL +XP +X` +Xd +Xt +Xx +X +X +X ,(X ,(X ,@X ,@X ,XX ,XX ,pX ,pX ,X ,Y ,Y ,Y ,Y ,Y ,Y ,Y ,Y, ,YP^Y`/Yh<YtRYYY -Y%Y -Y*Y/YFY -HY -DY -HY -DY]Y -Y%Y -Y*Z/Z 0ZTZ -(Z(%Z, -(Z0*Z</ZD0ZL ZTKZX Z\ -0Zd%Zh -0Zl*Zx/ZFZ Z Z=Z ZGZ -8Z%Z -8Z*Z/ZFZDZ Z/Z"[Z[ /[' [ [(' [, [0[</[D "[H "[L+[X/[d.[p "[t "[x [|I[/[.[ -[I[ [ -P[ [ -P[=[ [6[ -p[%[ -p[4[,[ -\/\ 9\\ /\(\0!\4 -\@/\HB\L \T/\` -\d%\l*\tZ\/\/\ -\%\*\/\S \S \ \\/]' ]' ] ]]$/]0+]4 -p]</]H+]L -]T/]\ -]`+]x -]| ] -]=] ]6] .]%] .]4],] .(]/]9]]/]]!] .H]/^B^ ^ /^ .(^%^$*^,Z^</^T/^` .H^d%^l*^x/^A ^A ^ ^^/^' ^' ^ ^^/^+^ .^/_+_ .(_ /_ .H_+_0`_8 .p_< .p_@%_P4_X_\ _h/_t ._x ._|=_ _b_/__Y_ ._%_ ._*_,_/_0_ __ _ ._%` .`*` &` .`/`0F`@4`HD`X/``"`lE`t .`|%` .`*`/`F``/`L`C` .` .`%`*`/`0a4a\a /a(Xa4/a<VaH/aP2a\/adap/ax<a /a /a=a aRaMa 0a%a 0a*a/aFa4a1b/bdbb 0b 0b %b(*b4/b<0bDZbT/bh 1hbl 1dbp 1hbt 1db|]b 0b%b 0b*b/b0bTb 0b%b 0b*b/b0b 1bKb 1b 1c%c 1c*c/c(Fc0 1c4 1c8=c< c@GcH 1cP%cT 1cX*cd/cxFc/c"cc%c .c*c/c0c/c 1hc 1hc 1dc 1dc]c 1(d%d 1(d *d/d 0d,Td4 18d<%d@ 18dD*dP/dX0d` 1@dhKdl 1@dp 1Hdx%d| 1Hd*d/dFd 1Pd 1Pd=d dGd 1Xd%d 1Xd*d/dFd/e"e e e e e(e0e e<e e@ eHeT/e\ .pe` .ped+ep/e|.e .e e .e eIe/e.e 0e 0e eIe/e.e .eIe f `f 1pf 1pf%f$f( f4/f< fD 1fH fL=fP 1fXbfd/flfxYf 1f%f 1f*f,f 1f/f0f f 1f f=f 1ff 2f%f 2f*f&f/gFg 4g(Dg8/g@"gLTgT 2g\%g` 2gd*gp/gFgg g 2g%g 2g*g/gFg4g/g"gYg 2(h%h 2(h *h/h,Fh8Th@ 20hH%hL 20hP*h\/hpFh|Yh 28h%h 28h*h/hFh h 2@h h=h 2@hh 2Ph%h 2Ph*h/iFi4i$/i,"i4;iD/iL 3iP 3iT 3iXki\ 3i` id 2`ih il=ip 2`iti| 2pi%i 2pi*i/iFi4i/i"i/i 3i 3i 3iki 3iYj 2j %j 2j*j /j4Fj<jD 2jH 2jL%jT*j`/jtFj$jUj/jijj 2j 2j%j*j/jFjj j 2j%j 2j*k/kFk,4k8/k@"kH kL 2kP kT=kX 2k\kd 3kl%kp 3kt*k/kFk4k/k"kMk 3k%k 3k*k/kFl4l1l/l$dl,l4 3(l8 3(l<%lD*lP/lX0l`Zlp/l| 3l 3l 3l 3l]l 3@l%l 3@l*l/l0lTl 3Pl%l 3Pl*l/l0m 1m Km 1m 3Xm%m 3Xm$*m0/mDFmL mP !mT mX=m\ !m`Gmh 3`mp%mt 3`mx*m/mFm/m"mm%m 1m*m/m0m/m 3m 3m 3n 3n]n 3pn$%n( 3pn,*n8/n@0nLTnT 3n\%n` 3nd*np/nx0n 1@nKn 1@n 3n%n 3n*n/nFn n 3n n=n 3nGn 3n%n 3n*o/oFo /o("o0 o4 o8 oH oLoX/od' op' ot oxo/o 1po 1po+o/o.o 2o o 2o oIo/o.o 2o 2o oIp/p.p 3(p 3(p$ p(Ip4/p@.pP 1pTIpX pl`pt 3px 3p|%pp p/p 3p 3p=p pbp/ppYp 3p%p 3p*p,p q/q 0q 3q 3q=q q$q, 4(q4%q8 4(q<*qD&qH 48qT/qhFqpDq/q"qTq 4Xq%q 4Xq*q/qFqq q 4`q%q 4`q*q/r Fr4r(/r0"r8 4pr< 4pr@=rD rHrP 4rX%r\ 4r`*rl/rFr/r"rr 4r%r 4r*r/rFr$rUr/riss s 4s%s 4s*s(/s<FsL4sX/s`"shMsp 4sx%s| 4s*s/sFs4s1s/sdss 4s 4s%s*s/t0tZt/t, 5Ht0 5Dt4 5Ht8 5Dt@]tH 4tP%tT 4tX*td/tl0txTt 4t%t 4t*t/t0t tKt t 5t%t 5t*t/tFt 1Pt 1Pt=u uGu 5u%u 5u*u(/u<FuH/uP"uXud%uh 48ul*ux/u0u/u 5Hu 5Hu 5Du 5Du]u 5u%u 5u*u/u0uTu 5(v%v 5(v*v/v0v$ !pv,Kv0 !pv4 50v<%v@ 50vD*vP/vdFvl !vp !vt=vx v|Gv 58v%v 58v*v/vFv/v"v/v v' v v' vw w w ww$/w, 3w0 3w4+w@/wL.wT 4w\ w` 4wd whIwt/w.w 4w 4w wIw/w.w 48wIw w`w 5Pw 5Pw%ww x/x 5px 5px=x x$bx0/x8xDYxL 5xT%xX 5x\*xd,xt/x|0x 5x 5x=x xx 5x 6x%x 6x*x&x/xFx4xDy/y"y;y /y,y8Ty@ 6yH%yL 6yP*y\/ypFyx 6 y| 6 y=y yy 68y%y 68y*y/yFy/y"y/y 7Ly 7Py 7Lyky 7Pz/z zz 6Hz 6Hz$%z,*z8/zLFzX$z`Uzl/ztiz| zz z 6`z%z 6`z*z/z#z/z"z 6pz 6pz=z zz 6z%z 6z*{/{F{,4{8/{@"{HM{P 6{X%{\ 6{`*{l/{F{4{1{/{d{{ 6{ 6{%{*{/{0{Z{/| 7L| 7P| 7L| 7P| ]|( 6|0%|4 6|8*|D/|L0|XT|` 6|h%|l 6|p*||/|0| |K| | 7|%| 7|*|/|F| 1P| 1P|=| |G| 7|%| 7|*}/}F}(/}0"}8}D%}H 5}L*}X/}`0}l/}t 7L}x 7L} 7P} 7P}]} 7}%} 7}*}/}0}T} 7(}%} 7(}*}/}0~ 70~ K~ 70~ 78~%~ 78~$*~0/~DF~L 1~P 1~T=~X ~\G~d 7@~l%~p 7@~t*~/~F~/~"~_ ~ ~_ ~ ~~/~ ~' ~ ~' ~   (/0 5P4 5P8+D/P.X 6H` d 6Hh lIx/. 6 6 I/. 5I 04 LPHhl8M<[]t_,fph,0was: Sun WorkShop 6 update 2 Compiler Common 6.2 Solaris_9_CBE 2001/04/02 GCC: (GNU) 3.4.14 +y*%-jN1|77T?3LDL4l\5 k6^v6| ~=\ cFL  I \d  p  gD  hL  hX  hp\0707010001dbef000081a400000002000000020000000140f41a8100002968000000200000000000000000000000000000001600000000reloc/src/functions.c/* * GProFTPD - A GTK+ frontend for the ProFTPD standalone server. * Copyright (C) 2001, 2002, 2003 Magnus-swe * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * */ #ifdef HAVE_CONFIG_H #include #endif #include #include "dialogs.h" #include "support.h" #include #include #include #include #include /* If we dont have bcopy .. use memcpy functions */ #if HAVE_MEMORY_H #include #endif #ifndef HAVE_BCOPY #define bcopy(s,d,n) memcpy((d),(s),(n)) #define bzero(d,n) memset((d),0,(n)) #endif #include "functions.h" #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE #endif #if ! defined USE_DARWIN #ifndef _CRYPT_H #include #endif #endif char *encrypt_password(G_CONST_RETURN gchar *password) { /* Make an encrypted password using the MD5 algoritm */ int i=0, where=0, randlen=8; /* The max MD5 random stringsize is 8 */ char *rnd_string; char salt[13]=""; /* The total salt length is 12 */ /* 64 chars */ char *arr[]={"A","B","C","D","E","F","G","H","I","J","K", "L","M","N","O","P","Q","R","S","T","U","V", "W","X","Y","Z","a","b","c","d","e","f","g", "h","i","j","k","l","m","n","o","p","q","r", "s","t","u","v","w","x","y","z","0","1","2", "3","4","5","6","7","8","9",".","/"}; srand((unsigned)time(NULL)); rnd_string=(char *)malloc(9); bzero(rnd_string, 9); while( i < randlen ) { where=rand()%64; strcat(rnd_string, arr[where]); i++; } #if defined HAVE_CRYPT /* For this to work it must have linked with -lcrypt */ sprintf(salt, "$1$%s$", rnd_string); #else /* We cant use MD5 salting and the salt can only be 2 chars */ sprintf(salt, "%s", &rnd_string[6]); #endif free(rnd_string); return crypt(password, salt); } int fix_newlines_in_conf() { /* Strip all newlines between directives */ /* * then add newlines before 256 ) { printf("Randomized length too long, changing it to 6\n"); len=6; } /* Make the first random nondigit */ srand((unsigned)time(NULL)); while(1) { if( upper_case ) { where = rand() % 106; if( u_arr[where]!="0" && u_arr[where]!="1" && u_arr[where]!="2" && u_arr[where]!="3" && u_arr[where]!="4" && u_arr[where]!="5" && u_arr[where]!="6" && u_arr[where]!="7" && u_arr[where]!="8" && u_arr[where]!="9" ) { strcpy(buf, u_arr[where]); break; } } if( ! upper_case ) { where = rand() % 53; if( l_arr[where]!="0" && l_arr[where]!="1" && l_arr[where]!="2" && l_arr[where]!="3" && l_arr[where]!="4" && l_arr[where]!="5" && l_arr[where]!="6" && l_arr[where]!="7" && l_arr[where]!="8" && l_arr[where]!="9" ) { strcpy(buf, l_arr[where]); break; } } } where=0; i=1; usleep(100000); srand((unsigned)time(NULL)); while( i < len ) { if( upper_case ) { where = rand() % 106; strcat(buf, u_arr[where]); } if( ! upper_case ) { where = rand() % 53; strcat(buf, l_arr[where]); } i++; } } int is_digitz(char *buf) { int i=0, match=0; for(i=0; buf[i]!='\0'; i++) { if( buf[i]=='\n' || buf[i]=='\r') { i--; break; } if( buf[i]=='0' || buf[i]=='1' || buf[i]=='2' || buf[i]=='3' || buf[i]=='4' || buf[i]=='5' || buf[i]=='6' || buf[i]=='7' || buf[i]=='8' || buf[i]=='9' ) match++; } if( match && match==i ) { return 1; } else return 0; } void exec_ssl(char *command, char descr[128]) { FILE *fp; if((fp=popen(command, "r"))==NULL) { printf("Error description: %s\n", descr); printf("Error command: %s\n", command); return; } pclose(fp); } void make_directory(char directory[4096], char perm[5]) { /* mkdir -p doesnt return errors */ char *makeit; makeit=(char *)malloc(4096); bzero(makeit, 4096); strcpy(makeit, "mkdir -p "); strcat(makeit, directory); system(makeit); strcpy(makeit, "chmod "); strcat(makeit, perm); strcat(makeit, " "); strcat(makeit, directory); system(makeit); free(makeit); } int file_exists( char *entity ) { FILE *fp; int i=0; if((fp=fopen(entity, "r"))==NULL) { /* We dont need to show this here */ } else { fclose(fp); i=1; } return i; } 0707010001dbf0000081a4000000020000000200000001403aa5d000000156000000200000000000000000000000000000001600000000reloc/src/functions.h#include char * encrypt_password(G_CONST_RETURN gchar *password); int fix_newlines_in_conf(); void fix_path(char *path); void random_string(char *buf, int len); int is_digitz(char *buf); void exec_ssl(char *command, char descr[128]); void make_directory(char directory[4096], char perm[5]); int file_exists(char *entity); 0707010001dbf1000081a40000000200000002000000014173774300005eac000000200000000000000000000000000000001600000000reloc/src/functions.oELF[d4(.shstrtab.debug_abbrev.debug_info.debug_line.text.rodata.debug_frame.debug_pubnames.debug_aranges.debug_str.symtab.strtab.rela.debug_info.rela.debug_line.rela.text.rela.rodata.rela.debug_frame.rela.debug_pubnames.rela.debug_aranges.comment% $ > $ > : ; I I&I : ;  : ; I8 : ; I 8 .? :; ' I@ :; I 4:; I 4:; II!I/ .? :; I@ 4:; I .? :; ' @ .? :;' @ :;I 4:;I 4:;I 4:;I.? :;' I@ .? :;' I@  GNU C 3.4.1functions.c/home/shake/gproftpd-8.1.7/srcintlong intsigned charunsigned charshort intshort unsigned intlong long intlong long unsigned intchardoublegchar)long unsigned intfloat"__FILE;__FILE_cnt,#_ptr- #_base/ #_flag0y# _file1y# __orientation2W# __ionolock3W# __seekable4W# __filler5W# ssize_tPyFILEK- encrypt_password>'n password=h i@P` where@PX randlen@P rnd_stringA'a saltB` arrE} '?]fix_newlines_in_confhPn fpk]bl'h new_bufferl'am^c allocate_extram^d list_user_directoriesP^ username'Xfix_pathn path'` temp'arandom_stringnbuf'hlenPifp ]b 'aupper_case Pc ^dwhere PiPiu_arr|l_arrz'i'4is_digitz{P^bufz'Xi|PZmatch|PYiexec_sslncommand'`descr'Yfp]Qmake_directoryndirectory'hperm'Ymakeit'file_existsPnentity'hfp]iPhQ /opt/csw/gcc3/lib/gcc/sparc-sun-solaris2.9/3.4.1/include/usr/include/usr/include/atk-1.0/atk/usr/include/glib-2.0/glib/usr/include/glib-2.0/gobject/usr/include/gtk-2.0/gdk-pixbuf/usr/include/gtk-2.0/gdk/usr/include/gtk-2.0/gtk/usr/include/pango-1.0/pango/usr/include/sys/usr/lib/glib-2.0/includestddef.hsyslimits.hglibconfig.h gtypes.hgarray.hgquark.hgerror.hgthread.hgasyncqueue.hgmem.hglist.hgcache.hgcompletion.hgconvert.hgdataset.hgdate.hgdir.hgfileutils.hghash.hghook.hgslist.hgmain.hgunicode.hgstring.hgiochannel.hgmarkup.hstdarg.hgmessages.hgnode.hgpattern.hgqueue.hgrand.hgrel.hgscanner.hgshell.hgspawn.hgstrfuncs.hgthreadpool.hgtimer.hgtree.hgutils.hpango-coverage.h gtype.hgboxed.hgenums.hgvalue.hgparam.hgclosure.hgsignal.hgobject.hgparamspecs.hgtypemodule.hgtypeplugin.hgvaluearray.hgvaluetypes.hpango-types.h pango-font.h pango-attributes.h pango-item.h pango-break.h pango-fontset.h pango-fontmap.h pango-context.h pango-glyph.h pango-tabs.h pango-layout.h gdktypes.hgdkcolor.hgdkcursor.hgdkdnd.hgdkinput.hgdkevents.hgdkdisplay.hgdkgc.hgdkrgb.hgdk-pixbuf.hgdk-pixbuf-loader.hgdkdrawable.hgdkfont.hgdkimage.hgdkkeys.hgdkdisplaymanager.hgdkpango.hgdkpixmap.hgdkproperty.hgdkregion.hgdkscreen.hgdkselection.hgdkvisual.hgdkwindow.hgtkenums.hgtkaccelgroup.hgtktypeutils.hgtkdebug.hgtkobject.hgtkadjustment.hgtkstyle.hgtkrc.hgtksettings.hatkstate.hatkrelationtype.hatkobject.hgtkwidget.hgtkmisc.hgtkcontainer.hgtkbin.hgtkwindow.hgtkmenushell.hgtkmenu.hgtklabel.hgtkaccellabel.hgtkaccelmap.hatkaction.hatkutil.hatkcomponent.hatkdocument.hatktext.hatkeditabletext.hatkgobjectaccessible.hatkhyperlink.hatkhypertext.hatkimage.hatknoopobject.hatkobjectfactory.hatknoopobjectfactory.hatkregistry.hatkrelation.hatkrelationset.hatkselection.hatkstateset.hatkstreamablecontent.hatktable.hatkvalue.hgtkaccessible.hgtkalignment.hgtkframe.hgtkaspectframe.hgtkarrow.hgtkbindings.hgtkbox.hgtkbbox.hgtkbutton.hgtkcalendar.hgtkcelleditable.hgtkcellrenderer.hgtkcellrenderertext.hgtkcellrenderertoggle.hgtkcellrendererpixbuf.hgtktogglebutton.hgtkcheckbutton.hgtkitem.hgtkmenuitem.hgtkcheckmenuitem.hgtkselection.hgtkclipboard.hgtkrange.hgtkscrollbar.hgtkhscrollbar.hgtkvscrollbar.hgtkclist.hgtkdialog.hgtkvbox.hgtkcolorsel.hgtkcolorseldialog.hgtkhbox.hgtkcombo.hgtkctree.hgtkdrawingarea.hgtkcurve.hgtkdnd.hgtkeditable.hgtkimcontext.hgtkentry.hgtkeventbox.hgtkfilesel.hgtkfixed.hgtkfontsel.hgtkgamma.hgtkhandlebox.hgtkhbbox.hgtkpaned.hgtkhpaned.hgtkruler.hgtkhruler.hgtkscale.hgtkhscale.hgtkseparator.hgtkhseparator.hgtkiconfactory.hgtkimage.hgtkimagemenuitem.hgtkimcontextsimple.hgtkimmulticontext.hgtkinputdialog.hgtkinvisible.hgtkitemfactory.hgtklayout.hgtklistitem.hgtklist.hgtktreemodel.hgtktreesortable.hgtkliststore.hgtkmain.hgtkmenubar.hgtkmessagedialog.hgtknotebook.hgtkoldeditable.hgtkoptionmenu.hgtkpixmap.hgtksocket.hgtkplug.hgtkpreview.hgtkprogress.hgtkprogressbar.hgtkradiobutton.hgtkradiomenuitem.hgtkviewport.hgtkscrolledwindow.hgtkseparatormenuitem.hgtksizegroup.hgtkspinbutton.hgtkstock.hgtkstatusbar.hgtktable.hgtktearoffmenuitem.hgtktexttag.hgtktexttagtable.hgtktextchild.hgtktextiter.hgtktextmark.hgtktextbuffer.hgtktextview.hgtktipsquery.hgtktooltips.hgtktoolbar.hgtktreednd.hgtktreemodelsort.hgtktreeviewcolumn.hgtktreeview.hgtktreeselection.hgtktreestore.hgtkvbbox.hgtkvpaned.hgtkvruler.hgtkvscale.hgtkvseparator.hva_list.h stdio_tag.hstdio_impl.hiso/stdio_iso.hstdio.hiso/stdlib_iso.hstdlib.hmachtypes.h int_types.h sys/types.htime.h iso/time_iso.htime_impl.h time.hselect.h pwd.hfunctions.cQ &  $EiL@T()! t % "e/    p$!  gge [  t& 㾀`/`!////////////@@ @ @ ** * * * * * * * @: 0`"* >@?`@@@㿐-/@ ƨ  @ @@@@ @@ `+!@ N` `?` `? `@  v @ @@@ ,@@* ;@` }!@@@@ x @ @@@@ S$@@ `!)a @  @  /@,@@* @@  @@`@ +@@@9 @ q @}`@ ϐ@Ԓ@ @0 @ @ @  @   @ @@  㿐@ @@K`*@K``/L`/`@@`@++`!@H` @p!`@   @ @@$@@ -/!+@ @ @   @ `@ @@af@ @``````````B@@ j* >X@@@@@퀢@뀢@逢@瀢@倢@䀤@a@"@ @`-@@ j* >X@@@ 5* =@@ 5* =@   @ 0 J`   *8`` `?` Ђ`? `` `J ` @ @ `?   㿐`@ `@@1@ 㿐@@  k,  i r, ,   - p m d, , ,, , , , @@ c, h o, , , , , , @@,* @@@㿐@`  @ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./$1$%s$/usr/etc/proftpd.confD XSZ`f| Ppd (. 84functions.cencrypt_passwordstrlenputsfgetsmemsetusleepfopenmake_directorypclosepopenfputslist_user_directoriessrandprintfmemcpyexec_sslstrstrmallocstrcatrewindfclosestrcpysprintfrandom_stringrandfreeftelltimeis_digitzcryptsystem.remfix_newlines_in_conffix_pathfseekfile_exists  lX:>6 ppd1V d , 0 X X 8 8 l LT&d.p6>FNV^fn v ~(4@HXdhhp| (&0.H6d>pFxNV^fnv~  $,DX\x|&.6>FNYaiqy ,8@HP`hp (08@HPXbjrz  ((08DPX`pt $,4<DLT\ d(l4t8|@LPX|| ,xx&.6>FNV^fp x08@Tddlt $,6 > F N $V (^ ,f 0n 4v 4~ < D D L X \ h t           $ , 8& <. P6 P> XF XN l     LT&\d#  !$(  h  h,-4%@L\p 0 @ 0 @ ($0 H PL PT P` hpx$ h -% 0 @ 0,8 @D \lx 0$ P $ 0 X$ ( X,8 < @D P T X\ `$p t x|  X  X$    0!< P$t x  \ \  h h -% 0 P 0 @ 0(4 P@L 0Xd @p$ p&                    #* &#*#*#*0 4 p@ D HL  h  h  $  ,  < D H  L P  \ l  )     $) ,$ < h D H h X     ( 0 8$ @( H, P0 X4 `8 h< p@ xD H L P T X \ ` d h l p t x |         ( 0 8 @ H P X ` h p x                       ( 0 8 @ H P X ` h p x              $ ( , 0 4 8 <  @ (D 0H 8L @P HT PX X\ `` hd ph xl p t x |                                          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |   ( 0 8 @ H P X ` h p x                              $ ( , 04LP\`x|pd  X 8as: Sun WorkShop 6 update 2 Compiler Common 6.2 Solaris_9_CBE 2001/04/02 GCC: (GNU) 3.4.14 8%U1", l7,?3L4\57 k5W$v5| ~8l:9P  :   E  O t  Z  Z  Z  [\0707010001dbf2000081ed000000020000000200000001417377ee0008b860000000200000000000000000000000000000001300000000reloc/src/gproftpdELFH44 (%#44ި!!(/usr/lib/ld.so.1[\  !#$%&')+,-./23569:;<=?@ABCEGJMNOPQRSTUWXZ\_cdegilnprstvwxz{|}~     "#$%&'()*,-02468;=?@CDEIJKMNQSUVWYZ[ "(*01478>DFHIKLVY[]^`abfhjkmoquy !+./13579:<>ABFGHLOPRTX>P 1 JPҸp n `+ h|!8|  #l)LL `Tf  8 T( B &5# \  | -4 $4;L D ($BxHc|!K8 A  t  8 @)Nh1 ES kwH l  ,p HL  q .` : HNUo,< TL D =M KRLx e8@!j}(  D 05AWLk   HٔD UX &-0I0 m '  Pr  r  3 I14 U,t kxD   /    h ,| ߨ 7d O $ l! J    20   8@   (\  X . :D L ^ w (  ,  MT |   8 '8\ 4 = P!  dd       L( ` %K 30P < T1 c!   $ h( ! 8EW`txT \ r t49| cNl 8 `  l VP  0\tP:HPP^H $Մ  \|, =W Tbz<Ll d04r 4|KpaX}@ `rT0 \ /=|D N4Vnl   \ XD!t2H,d |  " @ L+ C0Sm!\!D( !,Xx4՜H R-` ` _ v!ht  6 #H  +T mv @l "p,b ?N![!Pv>  |  <p0( r8 3 Ih[!us|  x<Oؼ H $ #(AYl !,Ht ! p  >< $<+_lib_versionbindtextdomaingtk_hbutton_box_newgtk_tree_view_set_cursorsrandon_syntaxcheck_button_clickedon_add_systemuser_question_window_mapcrypton_servers_treeview_row_activatedgtk_entry_get_typegtk_window_set_positiongtk_timeout_adduserlist_treeviewon_info_window_map_edatafopengtk_check_button_new_with_mnemonic_Jv_RegisterClasses_exitgtk_notebook_set_show_borderputstimegtk_text_buffer_get_start_iterprintfon_html_button_clicked.remfreefix_newlines_in_confgtk_image_new_from_fileimport_root_dirgtk_toolbar_get_typegtk_button_newon_user_settings_change_button_clickedon_delete_server_button_clicked_etextrandom_stringgtk_label_get_typegtk_tooltips_newlist_securefprintfgtk_misc_set_alignmentgtk_button_box_get_typegtk_tree_view_get_modelstrcmpgtk_vbox_newgtk_progress_bar_set_fractionfseekgtk_text_view_set_editablegtk_widget_set_sensitiveenvirongtk_widget_unrefgtk_cell_renderer_text_newcombo_selectionlist_fileson_userlist_treeview_row_activatedgtk_text_view_set_right_margingtk_tree_view_get_selectioncreate_user_settings_windowgtk_main_quitgtk_tree_path_new_firstg_list_lastgtk_text_view_set_justificationsprintfgtk_tree_path_freecreate_credits_windowon_apply_server_changes_button_clickedfputcon_import_button_clickedpcloseon_online_button_clickeduser_existspassword_userfgetsusleepgtk_button_box_set_layoutatk_action_get_namegtk_widget_showonlinecreate_shutdown_windowgtk_tree_view_set_rules_hintgtk_misc_get_typefputsatk_action_get_n_actionsgtk_container_get_typeon_yes_default_question_button_clickedcreate_pixbufstrstrcreate_info_window_iobgtk_list_store_newimport_to_usernamed_dirsgtk_box_pack_starton_user_settings_delete_button_clickedgtk_scrolled_window_get_typeftellgtk_tree_view_set_modelon_import_upload_checkbutton_toggled_endg_file_testg_signal_connect_datagtk_widget_set_nameatk_action_set_descriptionon_useradd_incoming_button_clicked_PROCEDURE_LINKAGE_TABLE_gtk_combo_newsocketon_import_namebased_checkbutton_toggledon_no_default_question_button_clickedstrcpygtk_label_set_use_underlineon_userdir_select_ok_button_clickedgtk_alignment_newencrypt_passwordmemcpygp_useradd_root_pathgtk_text_view_get_bufferon_help_button_clickedon_add_systemuser_yes_button_clickedon_credits_button_clickedglobal_username_randlen__register_frame_infofile_existslist_user_directorieson_username_rand_button_clickedgtk_toolbar_append_elementlist_server_valuesgtk_spin_button_newg_object_set_data_fullgtk_toggle_button_get_activegtk_widget_destroyfix_pathon_userdir_button_clickedgtk_list_store_get_typegtk_text_view_scroll_to_markgtk_events_pendingmainnum_importedgtk_progress_bar_newcreate_help_windowstrlen__iobgtk_tree_view_get_cursoron_save_entire_button_clickedgtk_widget_grab_focusgtk_toggle_button_get_typeinfo_buffergtk_menu_get_typegtk_list_get_typecreate_userdir_selectiondgettexton_add_server_button_clickedgtk_viewport_newsystemtextdomaincreate_pixmapg_locale_to_utf8gtk_tree_view_get_typegtk_text_view_set_left_margingtk_hseparator_newgroup_exists_environgtk_list_store_setgtk_window_set_icongtk_toggle_button_set_activeselected_server_addressgtk_spin_button_set_valueon_password_rand_button_clickedon_incoming_directory_ok_button_clickedadd_pixmap_directorygtk_misc_set_paddinglookup_widgetexec_ssluseradd_directory_entrymake_directorygtk_cell_renderer_pixbuf_newgtk_editable_set_editablegtk_scrolled_window_set_shadow_typeimport_add_upload_diron_welcome_button_clickedgtk_main_iterationgtk_box_pack_endcreate_add_systemuser_question_windowgtk_hbox_newgtk_container_addgtk_initgtk_object_get_typegtk_tree_model_geterrnois_bannedgtk_text_buffer_set_texton_files_update_button_clickedon_change_password_button_clickedg_list_appendgtk_container_set_border_widthgtk_notebook_set_tab_labelon_question_userdel_delete_button_clickedglade_set_atk_action_descriptioncreate_password_question_windowgtk_label_set_textgtk_widget_get_typeon_gproftpd_window_mapgtk_text_buffer_delete_markgtk_menu_get_attach_widgetg_logg_type_check_instance_is_agtk_label_set_justifygtk_entry_newgtk_file_selection_hide_fileop_buttonsgtk_scrolled_window_set_policyadd_import_usersgtk_tree_view_newgtk_combo_set_popdown_stringsmallocon_disc_update_button_clickedgtk_tooltips_set_tipon_shutdown_ok_button_clickedgtk_toolbar_get_icon_sizesetsockoptgtk_tree_model_get_typestrcatgdk_pixbuf_new_from_filememseton_backup_button_clickedgtk_window_get_typerandgtk_entry_get_textgtk_toolbar_newgtk_tree_view_append_columnfwriteon_shutdown_button_clickedgtk_text_view_get_typegtk_list_store_appendgtk_tree_selection_set_modegtk_set_localegtk_entry_set_textuseradd_incoming_directory_entrybindgtk_box_get_typeon_reread_button_clickedon_tls_generate_certificate_button_clickedselected_server_typeon_import_users_button_clickedUSE_TLSgtk_widget_grab_defaulton_restore_button_clickedcreate_import_windowgtk_adjustment_get_typecreate_default_question_windowselected_server_portgtk_file_selection_newpopeng_strconcatgtk_file_selection_get_filenamegtk_editable_get_typegtk_label_new_with_mnemonic__deregister_frame_infogtk_tree_selection_selected_foreachcreate_useradd_incoming_selectiongtk_toolbar_set_stylesscanfsnprintfimport_upload_diron_import_window_mapgtk_tree_selection_get_typegtk_tree_model_get_iteroffline_pressedgtk_progress_bar_get_typegtk_text_iter_get_textsleepgtk_notebook_get_nth_pagestrncatgdk_pixbuf_unrefgtk_text_view_set_pixels_above_linesgtk_widget_set_size_requestrewindgtk_notebook_get_typegtk_image_new_from_stockon_files_clear_button_clickedlist_serverson_kick_button_clickedgtk_widget_hidegtk_entry_set_max_lengthgtk_text_view_move_mark_onscreengp_useradd_upload_pathbind_textdomain_codesetlist_disclist_usersperrorg_error_freegtk_combo_get_typegtk_tree_view_column_new_with_attributesgtk_spin_button_get_typegtk_mainon_security_update_button_clickedgtk_list_store_cleargtk_window_newgtk_notebook_newfcloseg_strdupgtk_text_buffer_create_mark__dso_handlegtk_text_view_newgtk_box_set_spacingselected_directoryg_list_prependg_object_setgtk_text_buffer_get_bounds_initon_kickban_button_clickedgtk_notebook_set_tab_label_packingstrchrfflushgtk_window_set_titleis_digitzglobal_password_randleng_type_check_instance_caston_offline_button_clicked_GLOBAL_OFFSET_TABLE_g_object_get_datagtk_progress_bar_set_textgtk_image_newgtk_widget_refon_useradd_button_clickedclosegtk_label_newcreate_gproftpd_windowexitxfer_updategtk_text_buffer_get_typeg_strdup_printfg_object_set_datagtk_tree_view_column_get_typegtk_scrolled_window_newgtk_adjustment_newgtk_text_view_set_cursor_visibleg_object_unrefgtk_file_selection_get_type_DYNAMICgtk_list_child_position_startlist_entirecreate_userdel_question_windowg_list_freeg_free_finiatexitatoilibsocket.so.1SISCD_2.3libc.so.1SUNW_1.21libsocket.so.1libgtk-x11-2.0.so.0libgdk-x11-2.0.so.0libatk-1.0.so.0libgdk_pixbuf-2.0.so.0libm.so.1libpangox-1.0.so.0libpango-1.0.so.0libgobject-2.0.so.0libgmodule-2.0.so.0libdl.so.1libglib-2.0.so.0libc.so.1/opt/csw/lib0 zt?IySy8x<ZHGT`lyxM<;d%" ,S8DP\h?t+1JcXA(!SfL(,4&@(LeXdp9| -T\ }=$%0n<EHTQ`l)x6M^P*K  p,8D)P\h tiKW1N .(4@LXdp.|0O/B3r $0<H?T`lx/_IW*RmJ E,88DPt\ht>Q7Z`4#'(L4@9LXdp| C[I  ,  $ 0 <8 Hj T ` l xD $   P +    <  @ !!2! !,!8 !D !P3!\ !h!t!!!@ @D# @3"<@3@J, @ "@Z@3@3㿐#/3ᘂ`  @  `@@`" `@$@```$``@3e`  +㿐㿐/3ͮ`  ` @3O ``` `@3D㿐㿐!'Dbh"X@39'Hb@38"X@39"X@3: H@3:D@y"@ @36@37@37b  @35 @36㿐@33@3#@30 \@3 H "@3(@3@3 \@3 @3@3  㿐@3#  `@@@3 " 8@3 @2@3 ` P` P@2@2b؂ 2ٰ@2Ւ P@2 @2 㿐@2!@2 $ 㿐` %#c@2@2   @2  2 㿐`N@`@2ҁ  c@2ː#0 @2 @2@2@2㿈'쀦 * N`& c@2c@ X @2@2`@20@2#0 @2{   㿐@2 @2 @2@2  0@2-'d@2 @2cx!|?@2@2/@2"@2c@2@2  @2 @2pc@2 @2~5@2 @2| @2| @2`c@1@2w@1   @2q@2r@2Mc@1@1   @2a@2e@1@2b @1ې@2`@2_#ظ@1ѐc@2h   #\ #`@2O#d'0@1@2L H@2M@1 @2J c@2 0@10? Q@2 0@2A@2`@1@1   @2@1@21 @2@1`@1@1   @2@1@2 @1}@2@2 @1s`(@1h   #\ #`@1#d',@1`@1 H` @1Z@1 `8@1,@1L,? Q@1,@1@1`H@1@@1C   @1@1;@1Ւ @1@1`X@1+@1.   @1@1&@1 @1!@1@1 h@1`x@1Nh   #\ #`@1#d'(@1@1 H` @0@1 `@1U(@0(? Q@1R(@1@1I`@0@0   @1]@0ߐ@1y @1Y@14`@0ϐ@0Ғ   @1H@0ʐ@1L @0Ő@1J@1I @0`@0h   #\ #`@19#d'$@0@16 H` @0@16 `@0$@0$? Q@0$@1-@0`@0@0   @1@0@1 @0@0ؒ`@0s@0v   @0@0n@0 @0i@0@0!@0_a@0h   #\ #`@0#d'@0L@0 H` @0F@0ڒ a0@0@08? Q@0@0ѐ@0a@@0,@0/   @0@0'@0 @0@0|aP@0@0   @0@0@0 @0 @0@0!`@0ax@0:h   #\ #`@0#d' @/@0~ H` @/@0~ a@0A @/ ? Q@0> @0u@05a@/А@/Ӓ   @0I@/ː@0e @0E@0 a@/@/   @04@/@08 @/@06@05!@/a@/ސh   #\ #`@0%#d'@/@0" H` @/@0" a@/@/?@/ Q @/ @/ؒa@/s@/9@/t   @/b@/h@0b @/'@/]̐@/`   @/@/@/V@/ @/@/N̔ @/ b0@/h@/bH@/'@/9Ԑ@/<   @/Ԓ@/4@/Β @/ɐ@/b`@/$@/'   @/@/@/ bp@/Uh@/@/pb@/ @/   @/@/@/ b@/<h@/b@/W'@.Ȑ@.   @/kȒ@.@/ @.Ȕ @/  @/N b@/;'8@.8@.ْ   @/O8@/wb@/+'@.@.8   @/?@/j@.@/g  @/% @/b@.@/ @.@/@.   @/Qb@.ېh@/6@.c @.@.   @/ @.@/&  @/8 @.c(@.{@.~  @. @/+@.s @/'  @/' @.ƒc@@.a@.d@.Ԓ @.ː cP@.'4@.S4@.V@.4?4@. x @. @.cX@.A@.D4   @.@.֐@.c`@.1@.4  @. ?@. @.(@.’  @.Ԑ @.|cp@.@.  @.  Z@.q?@. @.’ @.c@.b'@-@.@.p@.@-@. @.@.Nc@-@-  @.b ?@.C @-@.z @.u@.5c@-А@-4  @.I  @.*?@-ǐ@.a @./@.c@-@-4   @.0@.|@-@.z @.{c@.'@-Ē@-@.@-@- " a! @.c @-c@-@-@- @- @-ܒc@-w@-z@- @- @-͒`@-h@-k   @-`(@-h@.5@-`0@-T@-W   @-͒@-O@- @.`@@-'@-?@-B@-@-= @a" ! @. @-`X@-'@-*@- @- @-~`h@-@-@- @- p@-o`x@- @-    @-`@-@h@-@-[`@,@,   @-o@,@- @-`@-F'@,@,@-T@, @" aa @- @-.`@,ɐ@,@-< @-< @- `@,@,@-. @-B @-`@,@-(@,   @-#`@,h@-w@,`@,@,   @-@-%@,@-) @-Za@,' @, @,@, @,}  @" !! @-E @,̒a(@,g@,j @,ڒ @,ڐ @,a8@,Y@,\@,̒ @, @,a@@,J@,M   @,ÒaH@,h@-/@,aP@,6@,9   @,@,1@,˒ @-@,a`@,!@,$4  @,  @,{? @, @,qap@, @,4   @, @,| a@,`'X@+X@+   @,tX@,@,Pa@+@+X  @,d ?@,E @+@,|  @,I a@,6'<@+<@+X   @,J< @,A @,%a@+@+<   @,9 @,' @,a@+@+   @,(a@+h@,@@,a@+@+   @,@+@,0 @,1@+a@,daa@+h@,@+ܒb@+w@+z   @+@+r@,  @+m@,Cb@+h@+@+b0@+V@+Y   @+ϒ@+Q@+ @+La@,"!b@@+h@+@+bh@+5@+8   @+@+0@+ʒ @++a@,@+@+}bx@+@+  @+ ?@+r @+@+  @+v @+cb@*@+   @+w@+'b@+S'@*@*   @+gb@+$h @+d@+@*@+’# @+M @+1b@*̐@*ϒ   @+E@+b@+!'`@*`@*  `@+5 ?`@+!@*`@+#@+@*',@*, P@* X,@+c@*,@*,@*  ,@+ ?,@* @*ʐh@+{ "@*Ðh@+t@*,@+q@+r@*y, Lc@*'(@*l( @+h(@+i@*i(@+f  @*ِ @*c@@*X@*[   @*ђ@+2cH@*'@*H@*K  @* ?@*!c`@*zh d@+@*6@+#@+@*/' P@*, X@+c@*@*@*   @* ?@*w @*Ph@+ "@*Ih@*@*@*@*@) Lc@*W'@)@* @)@* @*̦c@*G'$@)$@*^7@)   @*Y$@)$@*# @*K @*/c@)ʐ@)<   @*C @*1 @*c@)@)   @*2c@)h@*J@* `@)@)   @*@*4@)@*8 @*9@)a@*m!`(@)ʐh@*%@)`@@)@)   @)@){@* @)va@*L`P@)h@*@)Ē`h@)_@)b   @)ؒ@)Z@) @)Ua@*+!`p@)h@)@)`@)>@)A   @)@)9@)Ӓ @)4a@* `@)gh@)@)`@)@)    @)@)@) @)a@)!`@)Fh@)@)a`@(@(   @)u@(@) @(a@)`@)%h@)@)@a@(ې@(ޒ   @)T@(֐@)p @(ѐa@)!a@)h@)_@)a8@(@(   @)3@(@)O @(a@)a@@(h@)>@(aP@(@(   @)@(@). @(a@)e!aX@(h@)@(ݒah@(x@({   @(@(s@)  @(na@)Dap@(h@(@(a@(W@(Z   @(В@(R@( @(Ma@)#!a@(h@(@(a@(6@(9   @(@(1@(˒ @(,a@)a@(_h@(@(za@(@(   @(@(@( @( a@(!b@(>h@(@(Yb @'@'   @(m@'@( @'a@(b(@(h@(x@(8b8@'Ӑ@'֒   @(L@'ΐ@(h @'ɐa@(!@(Z#@(b@@'@(1@'  @(, ?@(  @'@(D  @( @'bP@'@'   @(@(-@''d@'d P@' Xd@(vbX@'d@'}d@'   @'d@'h@(e "@'h@(^@'jd@([@(\@'cd Lb`@'' @'V  @(R @(S@'S @(P @(9@'L' P@'I X@(3b@'@':@'=   @'@'qh@(" "@'jh@(@''@(@(@'  Lb@'x'@'@( @'@( @'@' ' P@'  X@'b@'_@&@&   @'s@'1h@' "@'*h@'ې@&@'ؒ@'ِ@& Lb@'8'@&@'ϒ @&@'В @'@&'  P@& X @'b@' @& @&   @'3 b@&h@' b@&h@'@& @'@'@&  Lb@&'@&?@& @' @&@' a#\#d#h#l#p!#`a @'| @'}@&t@'w b@&'@&c@&f   @&c@&#h d@'9 @&ʐ @&c @&I@&L  @&˜ a#\#`aa#d#h#l#p@'8a@&4@'7 c(@&'@&#@&&  @& !a#`#\aa#d#h#l#p@'a@&@' cP@&b'@%@&  @&v a#\#`aa#d#h#l#p@&a@%@& cx@&<'@%@%ڒ  @&P a#\#`aa#d#h#l#p@&a@%’@&Ŗ c@&'@%@%  @&* a#\#`aa#d#h#l#p@&a@%@& c@%'@%@%   @&!#@%#hd@&a #`#\!#d#h#l#paЖ @&q@%m@&p c@%'|@%\|@%_   @%|#@%#hd|@&3 a#\#`aa#d#h#l#p @&C @%?@&B c@%'@%.@%1  @% #p#l#`#\!#d#ha @&@%!!@& `@%k'@%@%    @%@%@$' P@$ X@%`@%R@$@%i@$   @%d` @%!#h@%Ґ `(@%#h@%ʐ@$@%ǒ@%Ȑ@$ L`0@%''@$@% @$@% @%@$' P@$ X@%`H@%@$@$  @%" ?@% n`P@$ې#h@% `X@$Ӑ#h@%@$@%@%@$ L``@$'@$|@%x @$|@%y @%b@$u' P@$r X@%\`@$@$c@$f  @$ܔ ?@$ n@$#h@%G "@$#h@%@@$L@%=@%>@$E L`@$'@$8@%4 @$8@%5  @$ @$`@$'@$*<   @$ @$ @${`@$@$   @$`@$L#h@$9@$g`@$@$   @${@$+@#@$ @$@#a@$a`@$%#h@$@$@a@#ې@#ޒ   @$T@#֐@$p @#ѐ@$a @$#h@$_@$a@@#@#   @$3@#@$O @#a@$!aP@##h@$>@#ax@#@#   @$@#@$. @#a@$ea@##h@$@#ݒa@#x@#{   @#@#s@$  @#na@$D!a@##h@#@#a@#W@#Z   @#В@#R@# @#Ma@$#a@##h@#@#a@#6@#9   @#@#1@#˒ @#,a@$!b@#_#h@#@#zb @#@#   @#@#@# @# a@#b0@#>#h@#@#YbP@"@"   @#m@"@# @"a@#!@#|#@#<b`@"א@"ڒ  @#P ?@#1 2@"ΐ@#h  @#5 @#"bp@"@"   @#6@#!bx@#'@"@"   @#&@#@"@##X@#b@"'@"@"   @#@"@#u#X@#jb@"'@"@"   @"@"{@#`#X@#Ub@"'@"k@"@"l   @"@"d@#I#X@#>b@"'@"T@"W   @"@"O@#4#X@#)c@"'@"?@"B   @"@":@# @#c@"'@"*@"-   @"@"%@#   @" @"yc0@"@"   @"@"c8@"i'@"@"  @"} ?@"^ ͒@!@" @"@"'`@!` P@! X`@"ؒcP@"D`@!`@!  `@"X ?`@"9 @"ch@"Ð b@" ch@"@!`@"@"@!` LcX@"'@! @"@"@!@"  @"  @"cp@!@!   @"@"ycx@!'@!@!  @" ?@! ͒@!@"k @"l@!'\ P@!| X\@"fc@!\@!m\@!p  \@! ?\@!ǒ @!ch@"Q "@!ch@"I@!U\@"F@"G@!N\ Lc@!'@!A@"= @!A@"> @!֐#@!c@!1@!4<  @!  @!?@!@!&@! c@!\ch@!@!wc@!@!<   @!@! @! @!@!bc@ @!<  @!v  @!W? @!i @!Mc@ @ <   @!a @!O @!<c@ א@ ڒ   @!P`@! ch@!h@!(`@ Ð@ ƒ   @!<@ @!X @!Y@ a@!` @ ch@!E@!`8@ @    @!@ @!5 @ a@!l!`@@ ɐch@!$@ `h@ @    @ @ z@! @ ua@!K@!#@ ǒ`p@ b@ e  @ ۔ ?@  ɒ@ Y@   @  @ `@ H@ K  @  a#\#`aa#d#h#l#p@!7a@!8@ /@!2 `@ '@ @ !   @ `@ Tch @ d@ @ ' P@  X@ `@ a@@  @ u ?@ V n@ /ch@  "@ 'ch@ ؐ@@ Ւ@ ֐@ L`@ 5'@ @ @ @@ ˒ @ @'ܒ P@ X@ `@ @ܐ@  @ . ?@  n@ch@  5@ߐch@ @@ @ @ L`@'@@  @@  @ \@ݒ`@x@{<  @  @Ғ?@ #@ɒa@d@g<  @ݔ  @?@[@ a@ch@@a(@G@J<   @@B@ܒ @ @a0@2@5<  @  @? @ @a@@@ <   @ @ @qaH@ @   @aP@Bch@@]ah@@   @q@@ @a@aap@!ch@|@<a@א@ڒ   @P@Ґ@l @͐@@_#@a@@  @3 ?@!@@K  @ @a@@  @ !aa#`#l#p#\aa#d#h@a@@ a@'@x@{   @a@ch @Nd@U#@h'Ԓ P@e X@Oba@@VԐ@Y  @ϔ ?@ n@ch@: @ch@3@?@0@1@8 La@'@+@' @+@( @@a@@<  @  @u?@#@lb@@ <  @  @a?@@ b@4ch@b8@O'@@<   @c@@ @bH@:'l@l@<  l@N  l@/? @A bX@%'D@D@<   @9D @' @bh@@D   @(bp@ch@@b@'@@   @@@0 @a@g!b@Đch@b@'@z@}   @@u@ @pa@Fb@ch@b@'@Y@\   @@T@ @Oa@%!@#b@'@<@?D  @ ?@ @3@͒  @ @b@"@-@#D   @@@&'@ P@ X@bb@j@@  @~  @_ @8ch@ @1h@@@ߒ@@ Lc@?'@̔?@<  @@@@В @@'Ȓ P@ X@c @@Ȑ@  @3  @ c0@h@ c8@h@c@@ܐh@@Րh@@@@@ LcH@'@~Ĕ?@ @v @z@w @`;@s' P@p X@Zch@@a@d  @ڔ  @ @h@E @h@>@J@;@<@C Lcx@'@6?@ @. @2@/  @ c@'T@!T@$<   @T @ @uc@@T   @c@Fh@5c@a'@@   @u@@@ @@a@c@h@zc@:'@@ؒ   @N@@j @a@!c@h@Y`@'@@   @-@@I @a@@<#` @'@@T  @ ?@ @@(  @ @`0@}@T   @@W`8@'\@m\@p   @\@M@e\@J#@?`P@'X@UX@X   @X@PX@5#@*`h@'T@@T@C   @T@;T@ #@А#`@'@+@.<  @  @?@"@ `@Xh@`@s'@@<   @@ @ @`@^'h@h@<  h@r  h@S? @e `@I'H@H@<   @]H @K @8`@Ӑ@H   @L`@ h@da@$'@@’   @8@@T @a@!a(@h@Ca8@'@@   @@@3 @a@jaH@ǐh@"a`@'@}@   @@x@ @sa@I!ap@h@a@'@\@@]   @@@S@ @@La@"a@h@a@'|@5|@8   @|@0|@ʒ @+|a@!a@^h@a@y'@@   @@@ @ a@a@=h@a@X'x@x@   @lx@x@ @xa@!a@h@wb@7't@t@Ւ   @Kt@t@g @ta@@Z#@b @@H  @. ?@ #@@F  @ @b0@@H   @@ub8@'P@P@   @P@k@P@h#@]bH@'L@sL@v   @L@nL@S#@HbX@'D@^D@a   @D@YD@>#@3bh@'@@I@@L   @@@D@@)#@bx@'<@4<@7   @<@/<@#@ b@'8@8@"   @8@8@#@b@o'4@ 4@    @4@4@#@b@Z'0@0@   @n0@0@Ւ# @` b@D'P@P@<   @XP @F @3b@ΐ@P   @Gb@h@_b@'p@p@   @3p@p@O @pa@!c@h@>c8@'l@l@   @l@l@. @la@ecH@h@ch@'h@xh@{   @h@sh@  @nha@D!@#cx@'@[Ē@^P  @Ԕ ?@ @R@  @ @c@A@DP  @ a#\#d#h#l#pa#` @0@1@(@+ c@|'@@  @ a#l#pa#`#\a#d#h@a@@ c@T'@@   @h@c@D'H@H@   @XH@H@  @J c@.'L@L@E+@<   @@Lc@ch@X`@'@@L   @,@B@@F @a@}!@9#@`@@L  @  ?@ S@@%  @ @ߒ` @z@}L   @@E`(@'@j@m  @ a᠖ @3@`H@U@@U@Œ @Ő @`X@D@G@ @ː `@`p@5@8   @`x@kch@@`@!@$   @@@ @#`@q'@ ؐ@   @ؒ @@@!@!@#`@U'@В@X  @i ?@J @@  @W `@;'@@@@4   @O@ @= @*`@Ő@@   @>@Z#@`@@  @.  @?@@F `@ch@=@`@@D@@@ @@@%  @ @ߒ`@z@}@@x   @!@I@ʒ`@e@h  @ޔ  @?a@ch@@aP@M@P   @ƒ@H@  @ @a`@7@:   @@̐@ah@'@*  @ ?@ @@  @ @rax@ @   @@a@b'@@   @va@3chd@Ӗ aa @@Da@ߐ@@R @R @6a@ѐ@Ԑ@D @Y@(a@Ð@ƒ   @<a@ch@@a@@   @(@@D @?@a@@  @  @?@@+ @\b@'@@   @b@chd@W a @A@Ȓb0@c@f@֒ @֐ @b@@U@X@Ȓ"H@ܒ @bX@F@I   @b`@|ch@@bp@2@5   @@-@ǒ @@b@@   @ ?@w @@@  @y @fb@@}@   @x@@Tb@@  @h  @I?@@ @b@;'@@ْ  @O ? @0@@ @ @" @@ @Wc@b@@  @+  @ ?@@C @b@'@@  @ ?@ Z@@u#@@b@c@ߒb@z@}  @ ?@Ԓ @q@   @ؐ @Œc@`@c   @ْ@+c@'@P@S   @c(@chd@& aa @@c@@2@5@ @ @cP@$@'@@ @{cX@@   @a@Lch@@gc`@@   @{@@ @c@Rcp@@  @f  @G?@@~ @c@9'@@ג   @Mc@ chd@ a @@c@@@) @) @ c@@@"H@/ @c@@   @c@ϐch@f@`@@   @@@ @@y @ @ c@͒`@h@k  @ ?@’ @_@  @Ɛ @` @N@Q   @ǒ@c@`(@>@A  @  @?@5@ϒ @`8@'@%@(  @ ?@ @@ @c@q`P@ @  @  @f?@@ @``@X'l@l@  l@l ?l@M F@l@ϒ#@l@`@yc@9`@Ԑ@ג  @M ?@. @˒@e  @2 @`@@   @3@Oc@`@@  @#  @?@@; `@אch@2@`@@   @@@" @c@ݒ`@x@{  @  @Ғ?@o@  @c`@'@_@b  @ؔ ?@ `@ch @1d@n@K@l  @ @a@:@=   @@ϐc@a @*@-  @  @?@!@ @@''@ P@ X@ba0@i@@  @} ?@^ @ La@@S'h@h @h@@h@ @c@@aX@ې@ޒ  @T  @5?@Ғ@l  @B @&ah@@Ē   @:@Vc@ap@@  @* ?@  @@B @sa@'@@  @ aa @a@a@@@@ @ @גa@r@u@ @ p@Ȓa@c@f   @ܒa@h@0@a@O@R   @Ȓ@J@ @ߐc@a@:@=  @ ?@ @1@˒  @ @a@ @#   @@9@ua@@  @  @j? @ @`a@@  @t @7@ @ @b@H'@@@Vb @h @d@@@ bH@ h@g@'bP@@n@@@В @ϐ@@O  @ @ bX@@@@   @Kb`@Րh@0@b@@   @@@  @Z@ےb@v@y  @  @В? @ @ƒb@a@d   @ڒb@h@@b@M@P   @ƒ@H@ @@@ @ߒ @Ԑc@b@/@2  @ ?@ @&@ @b@{'|@|@   @||@  @|@  @c@cc@@  @w ?@X @@ @@Jc @@  @^  @?? @Q @5c0@А@Ӓ   @Ic8@h@a@!cP@@   @5@@Q @ @Q @Fc@c`@@  @ ?@ @,@@0 @pcp@'x@x@@   @xx@x @|x@y c@h@ @͒c@h@k   @@c@ @=c@'d@Sd@V   @dd@G @Kd@H @c@c@;@>  @ ?@ @2@̒ @@c@"@%  @  @|? @ @rc@ @   @@@bc@@   @v`@3h@@N`@@   @b@@~ @'`@`a@a@` @s @` @('@@ƒ   @<@@@ @Qc@`0@@  @% ?@ @@= @e@`@@@   @ @X@@V @W`P@'@|@@|@@u@t @" ``@hd@I a @3@`@U@X@Ȓ @Ȑ @`@G@J@ @ϐ!@`@9@<   @`@oh@@`@%@(   @@ @ @c@u`@@  @ ?@j @@ @`@\'@ @    @p@  @" a@'hd@ǖ a! @@8aH@ Ӑ@ @F @F @*aX@ Ő@ Ȑ@8!@M @a`@ @    @0ah@ h@@ap@ @    @@ @8 @3c@ ax@ @   @ ?@  @ @ @Y7@ ڒa@ u@ x  @   @ ϒ? @ a@ 'p@ `p@ c   @ p@5@ Xp @  @ya@ 'x@ Gx@ Jp@ x@o@ Bx@l @ =x@j @ 8x@h a@ nh@ @ a@ $@ @ $@ @2 @1@ @   @ ~ @ ka@ @ @ y@    @ a@ 7h@ @ Rb@ @    @ f@ @  @ b(@ ='@ @ T@ ِ ؔ @ O a! @  @ &b@@ @ 4@ @ 2 @ 2 @ bP@ @ @ $ @ 8 @ bX@ @    @ b`@ ؐh@ o@ bh@ @    @ @ @ @ !  @ 3 @ ےbp@ v@ y  @  @ q @ % @ );b@ '@ `@ c@ @ @ \@  b@ h@ @ b@ H@ K@ G@ Y @ X@ >@ ؒ  @  @ b@ -@ 0@ @ +   @ Ԓb@ ^#h@ @ yb@ @    @ @ @  @ @ db@ @   @ x  @ Y? @ k @ Ob@ @    @ cb@ #h@ {@ ;c@ ֐@ ْ   @ O@ ђ@ k @ ` @ k @ c@ '@ Ԑ@  Ԕ @ 4 a @ @ c(@ @ @  @  @ c8@ @ @  @ @ c@@ @    @ @ Z#H@ ޒcP@ y@ |   @ @ t@  @ c@ ɒc`@ d@ g  @ ݔ ?@  @ [@  @ 5cp@ 't@ Kt@ N  t@ Ĕ ? @ t@ '@ ?t@ $#@ :t@ Qc@ ΐc@ c@ )@ ,  @  ?@  @ @  @ c@ u'@ @   @  a! @ ْ@ `c@ @ @ n @ n @ Rc@ @ @ `@ u @ Dc@ ߐ@    @ Xc@ #h@ 7@ 0c@ ː@ Β   @ D@ ƒ@ ` @ [c@ c@ @   @ / ?@  @ @ G @ `@ 'p@ p@   p@  ?p@  U@ p@ y#@ p@ `@ #c@ ` @ ~@   @  ?@ ؒ @ u@  @ I@ ʒ`0@ e@ h  @ ޔ  @ ?@ #@ `@@ Q@ T   @ ʒ@ @ I@  @ `P@ '@ 9В@ <@ @ 5@ 4 @" a! @  @ `h@ @ @ @  @  @ s`x@ @ @  @  @ d`@ @ {@    @ v`@ 3h@ @ N`@ @    @ b@ @ ~ @ `@ 9'@ ̒@ א@ G̒@  @a" ! @  @ !`@ @ @ / @ / @ `@ @ @ ! @ 5 @ `@ @    @ b`@ Րh@ l@ `@ @    @ @ @  @ Z@ ے`@ v@ y  @   @ В? @  @ ƒa@ a@ d  @ ڔ @ @ Z @  @ a @ '@ Iܒ@ L@ @ @ E@  a0@ {h@ @ a8@ 1@ @ 1@ -@ ? @ >@ $@   @  @ xa@@ @ @ @    @ aH@ Dh@ @ _ax@@   @ s@@   @ e @ Ia@@   @ ]@ @ 9a@Ԑ@ג   @ M@ @͐@  @Ȓ@  @ a@ '@Ȓ@@ +Ȓ@ @" aa @ ~ @ a@@@  @  @a@@@  @ !@a@@   @a@h@ P@Ԓa@o@r   @@j@  @ ,@a@Z@]   @Ӓ@U@  @P@  @ b@'@@@C@@> @" !! @  @b@(@+@ @ @b @@@ @"(@pb8@ @   @b@@Ah@@\bH@@   @p@@@ @@EbX@@   @Y@@ِ@ @Ԓ@  @bh@)'@@ǐ@7@@ @" aa @ @b@@@ @ @b@@@ @#"@b@@   @b@Ðh@Z@ޒb@y@|   @@t@ @6@ɒb@d@g   @ݒ@_@) @Z@ @%@b@J@M@@H @" b@}hd@ a @@c(@)@,@ @ @c8@@@ @"(@qc@@ @   @cH@Bh@@]cP@@   @q@@ @@Hc`@@  @\  @=? @ @3cp@ΐ@ђ  @G @~@Ɛ @z @c@'t@t@@(t@@t@ @t@ے c@h@<@c@@C@@@ @@@$  @ @ޒc@y@|@@w   @ c@h@@Œc@`@c   @ْ@[@ @&c@'@K@N  @Ė a! @@c@6@9@ @ @`@(@+@ @ @~`@@   @b`@Oh@@j`@@   @~@@  @ @T`@@  @h @ @  @ @=`0@ؐ@ې@K @B @/`@@ʐ@͐@=`H@h@^@``@@   @2@@N  @` @`h@@  @  @?@@`@@@@@ @@ @@ `@h@@Ԓ`@o@r   @@j@  @ @`@Y@\  @Ҕ  @?@w@`@E@H@@C@m @>@k @9@i +@͐c@`@(@+  @  @?@@ a@Uh@@pa@ @@ @ @@@  @q @Ua@@8   @i@! @DaH@ߐ@   @X@ڒ@t @u@Ґa@a@ʐ @i @^c@aX@@   @2@@N @ @N ՒapP   @!ܒ!x   @0ܒ!x   @,ܒ!x   @(ܒ!xT   @$ܒ!x   @ܒ!x   @x !x   @p#ʒaؖ   @g!x   @_!x   @W!x    @O !x   @G!xx   @?!x   @7!x   @/!x   @'ܒ!x|   @at   @!x   @!xܖ   @!x   @!x   @!xh   @!x   @!x   @!xl   @!xL   @!x   @!x(   @!x   @   |!x@Ē P@@cx P@@0#`А@֒c P@@,`А@ʒ`8 P@@(`А@` P@z@$`А@`ؒ P@n@`А@a0 P@b@ `А@a P@V@`А@a P@J@̔`А@b  P@>@vԔ`А@vbH P@2@jȔ`А@jb P@&@^`А@^c P@@R`А@R`@ P@@F`А@F` P@@: `А@:a P@@.`А@.b P@@"``А@"b P@ސ@(`А@c P@Ґ@ $`А@ c P@Ɛ@ `А@b` P@@`А@b P@@`А@b P@@`А@ڒb P@@`А@Βb P@@`А@’c( P@~@`А@cP P@r@`А@cH P@f@`А@c P@Z@Ĕ`А@cВ P@N@`А@cx P@B@z`А@zc P@6@n`А@nc P@*@b|`А@bcВ P@@V`А@Vc P@@J`А@J` P@@>`А@>`0 P@@2`А@2`` P@@&`А@&` P@@`А@bx P@֐@`А@b P@ʐ@`А@b P@@`А@bВ P@@`А@b P@@`А@ޒc P@@`А@Ғc P@@`А@ƒc8 P@@`А@cX P@v@`А@cx P@j@`А@c P@^@`А@` P@R@`А@` P@F@~ؔ`А@~`В P@:@r`А@ra P@.@fД`А@fa P@"@Z`А@Zb8 P@@Nl`А@NbH P@ @BD`А@BbX P@@6`А@6b P@@*`А@*b P@@`А@bВ P@ڐ@`А@b P@ΐ@`А@b P@@̔`А@c P@@Ȕ`А@c  P@@Ĕ`А@cH P@@`А@֒ch P@@`А@ʒcx P@@T`А@c P@z@`А@cȒ P@n@`А@c P@b@`А@` P@V@`А@`  P@J@\`А@`8 P@>@vX`А@v`P P@2@jT`А@j`h P@&@^`А@^` P@@R`А@R` P@@Fh`А@F`Ȓ P@@:H`А@:`ؒ P@@.`А@.a P@@"`А@"a8 P@ސ@`А@a` P@Ґ@ `А@ a P@Ɛ@|`А@a P@@`А@aȒ P@@x`А@a P@@t`А@ڒb P@@P`А@Βb8 P@@L`А@’bH P@~@D`А@bX P@r@@`А@bh P@f@<`А@bx P@Z@8`А@b P@N@4`А@b P@B@z0`А@zb P@6@nP`А@nbВ P@*@bp`А@bb P@@Vl`А@Vc8 P@@Jh`А@Jch P@@>Ĕ`А@>cx P@@2`А@2c P@@&`А@&c P@@H`А@c P@֐@L`А@cؒ P@ʐ@`А@` P@@`А@`( P@@ؔ`А@` P@@Д`А@ޒ` P@@@`А@Ғ` P@@`А@ƒa P@@`А@b P@v@`А@b P@j@`А@bВ P@^@`А@c P@R@`А@c P@F@~`А@~`8 P@:@rl`А@r`` P@.@f`А@f`ؒ P@"@Z`А@Za0 P@@N,`А@Nc P@ @B`А@Bb P@@6`А@6b P@@* `А@*b P@@`А@`H P@ڐ@`А@` P@ΐ@ܔ`А@`Ȓ P@@Ԕ`А@aؒ P@@`А@` P@@``А@cP P@@\`А@֒c P@@d`А@ʒbX P@@`А@` P@z@`А@c P@n@h`А@a@ P@b@`А@a P@V@`А@b P@J@|`А@b P@>@vx`А@vcp P@2@jd`А@jc P@&@^`А@^`  P@@Rܔ`А@R`P P@@F`А@F` P@@:p`А@:a P@@.x`А@.a P@@"ؔ`А@"b( P@ސ@`А@b P@Ґ@ Ԕ`А@ c P@Ɛ@t`А@cp P@@`А@c P@@p`А@` P@@Д`А@ڒ`P P@@̔`А@Β` P@@ܔ`А@’a  P@~@Ȕ`А@a P@r@`А@b P@f@`А@bh P@Z@`А@b P@N@t`А@c P@B@z`А@zcؒ P@6@n`А@n` P@*@b`А@b`В P@@V`А@VaX P@a@d@P@Q㾀b/` !////////////@<@= @> @? ** * * * * * * * @5: 0`"* >@.?a@)@*@*㿐-/@%h ƨ  @" @#@#@@ @@ `+!@ N` `?` `? a0@ !@v @ @@ڐ@ ,@@* ;@֒aP }!@@@Ɛh@ɐ! x @ǔ @Ȑ@Ȑ@@Ē S$@@ `!)a @ !0@ !@/@,@@* @@ !0@@aP@ +@@@u9 @ q @d}a0@~ ϐ@ZԒ@!X@t0!@  @!@L !@!  @e!X@Z@=  㿐@) @C@MK`*@DKa`/L`/`@@<`@++a!@Hc\ @p!ch@!   @ @@$@@ -/!+@ 0@ P@ !0 @ a@@ @ސ@af@ @cccccЮcccccB@@Ȓ j* >X@@@@@퀢@뀢@逢@瀢@倢@䀤@a@"@m @n`-@m@ j* >X@i@_@ 5* =@W@ 5* =@| p !@  0 J`   *8`` `?` Ђ`? `` `J ` @ @ `?   㿐ch@O Ȱ`@H@1@ʑ 㿐@@  k,  i r, ,   - p m d, , ,, , , , @@( c, h o, , , , , , @ߐ@,* @א@@ّ㿐@ْch  @ @Ð `@¦!^"@@3@[a@a@@P@  @ a(@'@?@'@?@ @ @a0@.@'@.  @ @@$ @ؒ @EaH@x'@@@@;@@8 @ @6 @@4 @@ aX@5a'a@0a'b(@+a'bp@&a'b@!a'c@a'c@a'c@a'`h@ a'`@a'`@a'a8@a'a@a'a@a'b@a'bH@a'b@a'b@a'c@ېa'cp@֐a'c@ѐa'`@̐a'``@ǐa'`@a'`@a'|aX@a'xa@a'tb(@a'pb@a'lb@a'hc@a'dcH@a'`cx@a'\c@a'X`@a'T`8@a'P`@a'L`@|a'H`@wa'Da@ra'@a`@ma'<a@ha'8a@ca'4b8@^a'0bX@Ya',b@Ta'(b@Oa'$c@Ja' c`@Eac@@a' `@;a' `H@6a `@1a `@,a a @'a ax@"a a@a b0@a bh@a b@a c@ a c`@a#\#`#d#h#l#p#t#x#|#########|#x#t#p#l#h#d#`#\#X#T#P#L#H#D#@#<#8#4#0#,#(#$# ### #8#4###### #$#(#,#0#<@ܠ@X@@? @@) @#x@A@D  @   cc @  @c@,@/@ @  @c@@!@  @# @tc@@   @ c@Ea@ܰ @`c@@   @t@#@@ @@   hc@ P@`@ʔ P@ڐ@aH`@ P@ΐ@#x@`㿈@; '@  @c@&7!'@@X @@!a@` @@@  @ !@`0@@@!!@ƒ`8@!!@`p@|@@|   @@@q@  @E!@ƒ`@a@d  @ڔ  @? @͐ !@`@L@O   @Œ!a@`@!@`@7@:  @ ?@!@.@Ȓ @@&!!c@#@ @ @!@r`@ @   @!a@B`ؔ @@@@#@!@ `@c!@J`@@  @^  @? P@ܒ@v  @L !@0a@ː@Β   @D!a@a@[!@a(@@  @/ ?@!@@G @!!c@~#@ @? @y!@a8@@   @a@Œ @e@@f#@|!@aP@c!@ВaX@k@n  @  @Œ P@b@  @Ґ !@ah@Q@T  @ʘ !!@ap@!@a@<@?  @ ?@!@3@͒ @.!!c@c@& @Œ @!@za@@  @ !@K @@@#@!@a@c!@Va@@  @j  @K P@@  @X !@<a@א@ڒ   @P!a@ a@g7!@'a@@Œ  @; ?@ @@S @!c!@c@ @K @!@b@@   @@@{#@!!@ǒb@@c!@ߒbH@z@}  @  @Ԓ @q@  @E!@ƒbX@a@d  @ڔ  @?!a@bh@!@b@H@K  @ ?@!)@?@ْ @:!c!@c@ !@b@'@*  @  @?@!@xb@@   @@@ @֒ @!@ab@@@o@@ !@!c" # @ !@Fb@@@T @T !@8b@Ӑ@@F! @Z#!@)c@Đ@ǒ   @=!a@c@!@c @@   @(@@D @u!@#0@@@ @!#! @##`  @_!@cH@@@ @ !@ؒcX@s@v@! @#`!@ɒcp@d@g   @ݒ!a@cx@0!@c@O@R   @Ȓ@J@ @E! #ؔh  @B   |#@: P@1 @c P@*@b#!`А@a` P@@U!`А@Ua8 P@@I!`А@Ia P@@=!`А@=b P@@1!`А@1bВ P@@%!c0@%`В P@!c@㿐@1 )!@0# !@/@0'!@ɐ!c@!@&@@$  @i !@c@@@@ Ȑ@!^@X@ @U @@@@@ Ȓ!^@@@@ @@ @~@ "   `@y P@p@Z# P@j@@@-'t@ "@`!"&@@/ @J"` @@@?@  @ "`0@'@.@@.@"`8@d@"@``@@@   @@@@ @@ @  @ "@Z`p@@   @n @ "@I`@@@W @N "@;`@֐@ِ@I@"@.`@ɐ@̒  @B  @#? @5 "@`@@   @-@I"@ `@@  @ ?@ @@5  @ "@`@@   @"`@@"@ے`@v@y   @@q@  @l$$cX@BT"a@@"@a @U@X   @Β@P@ @K$$cX@!#T"a0@~@"@aH@4@7   @@/@ɒ @*$$cT@X"aX@]@"@xap@@   @@@ @ $$cX@#T"a@<@"@Wa@@   @k@@ @$$cT@X"a@@v"@6a@ѐ@Ԓ   @J@̒@f @ǐ$$cX@#T"a@@U"@a@@   @)@@E @$$cT@|X"a@ِ@4"@b@@   @@@$ @$$cX@[#T"b @@"@Ӓb8@n@q   @@i@ @d$$cT@:X"bH@@"@bP@M@P   @ƒ@H@ @C$$cX@#T@Ր"@b`@0@3  @ ?@ @'@  @ "@{bp@@   @@"bx@k'@@    @ @@@@ @@@ @"b@I'@@   @]"b@ t@@@ @"b@+'@@ɒ   @?@@ @@'ܠ@ܒ P@ X"@b"c@ @@ @縷  @ ?@ X"c@Ԑ@ "c@̐@}@@z@{@ L"c@'@uؒ @q@T"c8@'@jԐ@m   @"cX@ @@t@A@Z@?#$$cp$`ch#l#p#d#h #\#`@K @L@D$d`@G "c@'@3А@6   @@ "c@'@#̐@&   @@"c@x'@Ȑ@   @Ȓ@@#@'"c@c'@Đ@   @w@#`@S'@@   @g@#@C` @ސ@  @W ?@8 @i@Ӓ@m @#@(`0@Ð@ƒ  @<  @? @& #@`P@@   @' @ #@``@@   @@2#@`h@@  @ ?@ @@ #`x@@#@Ւ`@p@s   @@k@ @@c$$cT@9#X@#@`@P@S  @ɔ ?@ @G@ @!#`@'@7@:   @@2@#@ǐ#@`@"@%  @ ?@| @@  @ #@m`@@    @@#@]`@@  @q ?@R @@ #`@%@#@@a8@ې@ޒ   @T@֒@p @ѐ$$cT@X@c#@#aH@@  @7 ?@ @@O  @% #@ aX@@   @@9#@a`@픐@헒  @  ?@ @틒@%  @ #@ߒap@z@}   @ @ #@Βax@i@l   @ @А #@a@X@[   @ђ#a@펐@# #@a@D@G   @@?@ْ @:$$cX@#T#a@m@#@툒a@#@&   @휒@@ @$$cT@X#a@L@#@ga@@~@   @y@@@퓒 @@$$cT@#X#a@%@#@@a@ې@ޒ   @T@֒@p @ѐ$$cT@X#a@@_#@a@캐@콒   @3@쵒@O @찐$$cX@#T#b@@>#@b@왐@윒   @@씒@. @쏐$$cT@eX#b @@#@ݒb8@x@{   @@s@  @n$$cX@D#T#bH@졐@#@켒b`@W@Z   @В@R@ @M$$cT@#X@ߐc#@쟒bp@:@=   @쳒@5@ϒ @ʐc#@슒b@%@(   @잒@ @캒  @쇐 #@tb@@   @숒@(c#b@d'@@   @x@c#b@T'@@   @h@c#b@D'@@   @X@c#b@4'@@Ғ   @H@c#c@$'@@’   @8@ؐc#c0@'@@벒   @(@Ȑc#cP@'@@뢒   @@츐c#cp@'@@뒒   @@$c#@c@@낒  @ ?@ْ @v@  @ݐ #@ʒc@e@h   @ޒ @Ր #@빒c@T@W   @͒ @뻐 #@먒c@C@F   @뼒#c@y@/#@딒c@/@2   @먒@*@Ē @%$$cX@#T#c@X@#@sc@@   @뇒@ @룒 @$$cT@X#c@7@$@R`@@   @f@@낒 @$$cX@#T$`@@q$@1`(@̐@ϒ   @E@ǒ@a @$$cT@X$`8@@P$@`X@꫐@ꮒ   @$@ꦒ@@ @ꡐ$$cX@w#T$`h@Ԑ@/$@`x@ꊐ@ꍒ   @@ꅒ@ @ꀐ$$cT@VX$`@곐@$@Β`@i@l   @@d@ @_$$cX@5#T$`@꒐@$@ꭒ`@H@K   @@C@ݒ @>$$cT@X$`@q@$@ꌒ`@'@*   @ꠒ@"@꼒 @$$cX@#T+ @ꮐc$@n`@ @   @ꂔ ?@c @@Ꚓ  @g $@Ta@@   @h@c$a@D'@@   @X@c$a @4'@@Ғ   @H@c$a@@$'@@’   @8@ؐc$a`@'@@鲒   @(@Ȑc$a@'@@颒   @@긐c$a@'@@钒   @@ꨐc$a@'@@邒   @@ꘐc$a@'|@o|@r   @|@ꈐc$a@'x@_x@b   @x@c$@鴒b@O@R  @Ȕ ?@驒 @F@ @$@雒b@6@9  @鯔  @鐒?@$@釒b @"@%  @雔  @|?@$@sb0@@   @釒@@@ђ @$@\b@@@j@@g@@ @" $$cT#X @鷐 $@>bP@ِ@ܐ@L @L $@0b`@ː@Β@>$ @R"h$@!bx@輐@迒   @5$b@@$@ b@訐@諒   @!@裒@= @n$@b@蓐@薐@@葐 @" $$cTcX @Y $@b@{@~@ @ $@Ғb@m@p@$ @"$@Òb@^@a   @ג$b@蔐@+$@诒b@J@M   @Ò@E@ߒ @$@蚒b@5@8@訒@3$ $@T#X#`  @$@聒c@@@菒 @菐 $@sc(@@@聒! @蕐#$@dc0@@   @x c@5@$@Pc8@@   @d@@耒 @{c$@;cH@֐@  @O  @0?@͒@g ! #ؔ   @Ȑ   #@@緐  h#@結 P@笐"@蕒` P@祐@#"`А@ܒbx P@瘐@"`А@Вb P@猐@"`А@Ēbؒ P@瀐@ؔ"`А@踒c P@t@ܔ"`А@謒c P@h@Ԕ"`А@蠒c8 P@\@Д"`А@蔒c P@P@̔"`А@舒c P@D@|Ȕ"`А@|cВ P@8@pĔ"`А@pc P@,@d#`А@d` P@ @X#`А@X` P@@L#`А@Lb P@@@#`А@@b P@@4#`А@4bВ P@@(#`А@(b P@@#`А@c P@ؐ@#`А@c0 P@̐@#`А@cP P@@#`А@cp P@洐@$`А@a P@樐@$`А@a  P@朐@$`А@Ԓa@ P@搐@$`А@Ȓa` P@愐@$`А@缒a P@x@$`А@簒a P@l@$`А@礒a P@`@|$`А@瘒aВ P@T@x$`А@猒a P@H@瀐$`А@瀒b@ P@<@t$`А@tb P@0@h$`@hb P@$!c@ t㼐@t $cx@s !@r@s3@ $c@Ca@j@@h  @h $@Uc@@c'@@` @朐 $@Dc@ߐ@['@ߐ  @U @@Ԑ @戒 @ΐ@v @!$$c@#@徐@@1@@幐@ @崐@_ @寐@ܒ @媐@ @奐@Ւ $c@ېa'$c@֐a'%`@ѐa'%`8@̐a'%``@ǐa'%`@a'%`@彐a'%`@帐a'%`@峐a'%`@宐a'%`@婐a'%`@夐a'%`@埐a'%a@嚐a'%a@啐a'%a(@吐a'%a0@勐a'%a@@冐a'%aH@偐a'%aP@|a'%a`@wa'%ap@ra'%ax@ma'%a@ha'%a@ca'%a@^a'%a@Ya'|%a@Ta'x%a@Oa't%a@Ja'p%a@Ea'l%a@@a'h%a@;a'd%a@6a'`%a@1a'\%b@,a'X%b@'a'T%b @"a'P%b(@a'L%b8@a'H%b@@a'D%bH@a'@%bX@ a'<#@a'8%bh@a'4#@a'0%bp@a',%bx@a'(%b@a'$%b@a' %b@a%b@ސa%b@ِa%b@Ԑa'%b@ϐa%b@ʐa'%b@Őa'%b@a'%c@仐a' %c@䶐a'%c@䱐a'%c@䬐a%c0@䧐a%c@@䢐a%cP@䝐a%cX@䘐a%c`@䓐a%c#\%c#p%c#|%c#%c#%c#& &#d`#& 0&#t`P#&ܘ h##`& #h##l&И ##x& ###&Ę ##& ###########&`&#!#&a(&#!@#&aX&# !p#&a&#!#$&a&#,!#4&a&#<"#D&b&#L"0#T&bH&&b`#\"##d#######|# x#(t#0p#8l#@h#Hd#P`#X\#`X#h&&#b#l&b#|&c#&c(#&c@#&cX#&cp#&c&##T#t#p&P###xL&##H##&D###@' #<##'8 ##4''0 H###0#,#(#$# #'``##'`x#'`##'`# #'`##'`# # 'a #$#('##da8#####,#0'aP#4'ah#D'a#L'a#T#<''ᰂa' #\#`#@#8#H#P#X@#h@@@䮔? @>@''@`@@  @t ''b@b< @Ē'@Kb@@@Y @Y '@=b @ؐ@@K  @_#'@.b(@ɐ@   @B c@a@㖰'@b0@ⵐ@   @.@D#@⮐@H @@⧐   hc@⤐ P@⛐$cx@ㄔ P@┐@̐$c`@̐ P@∐@@`㿐'bH@Ⳑ!@%/'@ϒh!"0@ΐ@-'@i@ @'@b@ɒ @+'@Z@) @U @⮐@I@J@I @" @C b@✐@7@: @"    #@5@,  h#@* P@!@ h P@@ P@b@㿐'b@E!@/'@a!"0@`@m-'@@㠒 @Z'@@[ @+'@@) @  @@@ې@@ې @" @Ր c@@.@ɐ@̐ @"    #@ǐ@ᾐ  h#@ἐ P@᳐@❒ P@᭐@◒  P@᧐c@@⑔㿐@ 'ch@!?!r@@7@ᐐ'c@ǐ@@ᅐ@  @ '@ْc@t@;@t@ @#'@Ȓc@c@3'@c  @ٔ  @Ẓ?@@T@  @ '@ᨒc@C@F  @ἔ @@< @ @]'#@ᐦ@+@.@ធ! @ሐ@O@"@L @@J @@N @@C @@(`@C?@⤐@(@Za@@  @n  (?@O@@@ᴒ @(a@?@ڐ@ݐ@M@@Ր " ((b`"\ @ᝐ (@$a@࿐@@2 @2 (@a@౐@ഒ@$( @8!(@b@࢐@॒   @(b@ؐ@o(@b@@   @@@# @T@ߒc@z@}@@x("`( @"\#`  @?(@ƒb @a@d@Ԓ @Ԑ (@ฒb0@S@V@ƒ( @ڐ"8(@੒b@@D@G   @དྷ(bH@z@(@bP@0@3   @੒@+@Œ ! Ӓ#ؔ   @&՘  #ؚ @ P@'ch@ P@@F'#c`@E P@@9(!`@9 P@@-c@.`㿐@A (bh@@@D5 @ݐ(!@b@:@ѐ@8  @8 (@%b@@3;(@@0(a@b@P(@b@߫@'@߫  @!  @?@3@ߜ@6  @  (@c@ߋ@ߎ   @@ (@c@{@~  @ ?@Ւ @r@   @ِ (@ƒc @a@d   @ڒ @ѐ (@ߵc(@P@S   @ɒ @߷ (@ߤc0@?@B   @߸(a@tc8@(@ߏcH@*@-  @ߣ  @߄?@!@߻ @߼@))`@ (a@KcX@ߦ(@fch@@  @z  @[?@@ߒ @))`@  @W (@Dcx@ߐ@   @X@߹(c@4@ϐ@Ғ   @H @Ð@@Ő@’ @ߟ(#@@޵@޸   @.@J(@ c@ޥ@ި  @ ?@ Z@ޜ@6 (a@ђc@,5)@`@އ@ފ  @  @?@~@ @@)@Ӓ`@n@q  @  2?@Ȑ@/@c@- @.)` @޸@S@V@ƒ@O@N )@)`"   @ )@ޝ`8@8@;@ޫ @ޫ )@ޏ`H@*@-@ޝ( @ޱ!)@ހ`P@@   @ޔ$a@Pb@)@k`X@@    @@@ޛ @@Wb@@@e@) ) @ #`  @޷)@>`h@ِ@ܐ@L @L )@0`x@ː@Β@>( @R"8)@!`@ݼ@ݿ   @5)a@`@ވ)@ `@ݧ@ݪ   @ @ݢ@< ! ܔ̖   #@ݝ@ݔ  h#@ݒ P@݉(bh@r P@݂@޺(##`@޹ P@u@ޭ(c`@ޭ P@i@ޡ)` `@ޡ P@]@ޕb@ޖ`㿐@ݩ )`@ݨ@ݬ7@E)`@|@ݣ@:@ݡ  @ݡ )@ݎ`@)@ݜ% @)@ݙ)`@_@ݺ5)@za @@ݑ3)@   @݋@ݡ@ @ݤ  @z )@^aP@@   @r@ݎ)@NaX@@  @b ?@C @@z )ah@@q)@1ax@̐@ϒ   @E@ǒ@a @ݡ)@!@ܷ@ܺ   @0 @ݫ@ݬ@ܭ@ݪ @B)@a@ܝ@ܠ  @ ?@ Z@ܔ@. @V)@a@܄@܇  @  (?@ސ@E@y@C @D)a@ά@i@l@ܒ@e@d " ))b@"< @, )@ܳa@N@Q@ @ )@ܥa@@@C@ܳ! @ǐ#)@ܖa@1@4   @ܪ(bH@g@)@܂b@@    @ܖ@@ܲ @@na0@ @ @|@)"@) @"<#`  @Β)@Ub@@@c @c )@Gb @@@U$ @i"h)@8b(@Ӑ@֒   @L$b@ @ܠ)@$b0@ۿ@’   @8@ۺ@T @۵! #ؔh  @۲  #ؚ @۪ P@ۡ)`@܊ P@ۚ@Ґ)#a`@ѐ P@ۍ@Ő)!`@Ő P@ہ@ܹa0@ܺ`㿐@͐ )bH@̰@7@i)bh@۠@ǐ@^@Œ  @Ő )@۲b@M@5@M@۽)b@ۃ@3))@۞c@9@۵@9  @ۯ ?@ې!@@*@Ē @@" @  @ۑ )@uc@@   @ۉ)c@F@ۡ)@ac0@@   @u@@ۑ @**`D@ H@ @ۉ @)c@@>@ِ@ܒ   @R @͐@@ϐ@̒  @c#)@#cX@ھ@   @u@ڹ@S )ch@@J)@ c@ڥ@ڨ  @  @?@ڜ@6 @^)@c@ڌ@ڏ  @  (?@@M@ځ@K @L)#@֬@q@t@@m@l @" **`D`H @4 )@ڻc@V@Y@ɒ @ɐ )@ڭc@H@K@ڻ! @ϐ#)@ڞc@9@<   @ڲ(bH@o@*@ڊ`@%@(   @ڞ@ @ں @@vb@@@ڄ@* D* @ H#`  @֒*@]`@@@k @k *@O` @@@]* @q (*@@`0@ې@ޒ   @T(b@@ڨ*@,`8@ǐ@ʒ   @@@’@\ "   `@ٽ@ٴ! #ؔh  @ٱ  ؒ#ؚ @٩ P@٠)bH@ډ P@ٙ@ѐ)#c@`@А P@ٌ@Đ)#`@Đ P@ـ@ڸb@ڹ`H@%*'@ɐ !^@˒"0@@e**`X@ٛ`h@@Y@  @ @L@ٿ@L@ټ** X@ف`@@;'@ٷ@;   @ٱ@@0@ʒ @@( @ǒ  @Ӑ @'@   @ٓ@@ @ǒ @@'@ @y@@@Ò **`X@7`@ْ@'@   @j@@ن  @\ @'ܒ@   @X**`X@a@o@'ؒ@ܖ   @Gؒ@@c @++`d@ٚ h@ؼؔ @[ @ٕ@د'Ԓ@زܔ   @(@ُ@ا*@پa8 @ @ؙ'В@؜   @**`X@ΒaH@)@؈@؋Ж   @@؃@ @~++`h@T d@v @ @َP@i'̒@lД   @̒ @ِ @\@_   @Ւ**`X@ؑa@@K@N   @Ē@F@ @A++`h@ d@9 @ؒ @@,'Ȓ@/   @إ**`X@aaȔ @Ȓ@*@4b@@5P@'Ē@   @؉@إP@'@  @}  @^?@@ؕ @ؽ%@@   @h@ش@@ز @س@ܺ@ߐ@O@@א @" ++`h l @؟ @'@Ȑ@8 @8 @׻@׾@.* @B"H@װ'@׳   @)**`X@bP@|@ן'@ע   @@ך@4 @e@׎@ב@@׌+ l+ @ h#`  @S@y'@|@ @ @o@r@* @"X@d@g   @ݒ**`X@יbh@0@S'@V   @@N@ *bp   @I!*"x   @@"xؖ   @8!*H   "@/@&  h"@$ P@*@b P@@L#*`А@Kb P@@?*`А@?b P@@3*`А@3b P@@'*`А@'bВ P@@*`А@b P@א@ܔ*`А@b P@ː@ؔ*`А@b P@ֿ@Ԕ*`А@c P@ֳ@Д*`А@c  P@֧@ߐ*`А@ߒc0 P@֛@̔*`А@Ӓc@ P@֏@ǐ*`А@ǒc` P@փ@׻*`А@׻cp P@w@ׯȔ*`А@ׯc P@k@ףĔ*`А@ףc P@_@ח*`А@חc P@S@׋*`А@׋cȒ P@G@*`А@c P@;@s*`А@sc P@/@g+`А@g` P@#@[+`А@[` P@@O+`А@O` P@ @C+`А@C` P@@7+`А@7`0 P@@++`А@+`@ P@@+`А@`H P@ې@+`@`P P@ϐ+`X@ָ+!?`p##/  /@-# @q?J`   Ђ`` `r"#J ?c@a < " / p@0/ / @Q > /3@ b؀ 8!/ `o?J `o?J `t?@ ?/ؐ!@Đ   @޶@־   @غ/b@ْa0 /a@@ֶ/aXX@ְ//ah@ִa ǒ @ֲ @ֳ@ֳ@֖ @ְ@֐@֪  U, s e,, r ?,,c,@ւ@֤ ,* /b@֕a0 " c@@ֈ 8@֌/a0@b؀ ) *@T !/5/@k ސ@o!U@c @:  @W䀢 "ǐc@)/+/-/@K (@A !@Eq@ !@3 "!/a0@+b؀ aܐ@% "א@@@@ @@@  b@b@ٹٷ`(`#??#@ !?#/aϐ@ @`( , A, < y,, m u,,  n o s ,,, , ,,, @ձ@Ӑ /,* #@զ >@Ȑ, * * @ U, s*  e *  r!?* #* * @Ռ@ծ, p*  G*  r*  o u* * #* * @x@՚,* /a@o/a@k/b@g/b8@c/bP@_/bh@[/bx@W/b@S@u <, L*  i m t /* * * * * * * * /b@<@^, A o* *  l w A* * * * * * * * @K, L*  m t* * * * * * * * /b@@7, D*  e n* *  y A* * * * * * @%,`$ L`*  m t* * * * * * * >* @, A*  n y* *  m o* *  u s* *  n o* * * * * * @ِ@א/b@a0  //a@Аah ! @͔ @ΐ@ΐ@Ա @!@ԩ@Ò 0a @Կ @Ð@Ԛ/a0@Գb؀ K ,/@ӈ0 a-/!/@Ԟ ڐ@Ԣ@x@ԓ @j " @ԇ#hဢ /cX@ԁ `?/cx@v 2` `#`  @K/@g. A*  o*  w U* *  s e* *  l r?* * * c* * * @(@J .*  !/+@6 @@0# ` `%` @ c@-@" /,* c@!?/!ah/c@#/#@Ҩ#@@@@0!//ahc@ܐ#/#@Ҕ#0c@Ӑ/@@А@ΐ@̐@ʐ//c@ːah Y!@@ؐ@Ӻ0c#@ے`(`"@ː 0`ؘ@, D*  r e* *  t o* *  r y c* * * * * * @ӆ`(`@ӣ 8@Ӟ, ** * * * 0`@o0` @k@Ӎ, w*  A o* * * * * * * * * @|, L*  m t* * * * * * * * 0`@F@h, D*  e n* *  y A* * * * * * @V, L*  m t* * * * * * * * @F, D e* *  r t* * *  o y* * * * * * * * @/, A*  n y* *  m o* *  u s* *  n o* * * * * * /!/ahc@#/#@Ѧ#@@@@@@0/!/ahc@Ր#/#@э#@@А@@ː#0 `@Ү/ah@ҹ0@ҵa/@p#0 /!/ahc@Ҫ#/#@b#@ؐ/!ah@ҙ0@Һ,?* c@Ҏ0 @ҋ0@ҫ,?* c@0֠#0 :a@i0@taX/@/#@t@r@p@n@҇0#0 -ap@P/ah@[0a@W/#@㿀@ @0a @@ҫ @ѧ@@ҧ@ߐ@Ҥ@ҥ00  @Ҡ!@Ҡ@э@ʐ@Ҝ@Ő@ҙ@р@н@ҕ@Җ@ж@Ҕ 0/!@a  @ @@@ @`i0@ @ ec?/0;0@ I@ (8L@`  @(`8``: L@` @@.@о ې@иb "Ր@B@\@@@Ր   @;@3@M @4?@Ѹ @ѹ@ќ@њ`@l0 @Ѷ!@ѫ00@Ѱ!@ѥ@ш㿐;@4'` @0b@0a@0 b(@ 0b@@0bX@0bx(bؤb+bتb@ը@@@fc@10@d"@;@ܐ@@U10@V"@,@@ː@ѻ 200@Є@@љ@њ@Ϻ@ѫ`!!|@  @.!|@Q00b@# ` @#@ϙ`,`10@-#0@"0Ё㿐@а@ύ@}   `( `(㿐@П@|@l   `$ `$㿐@π#@j0dcH@d0^cX@Ј@\@@Ԑc   @:c@̠@ ,c@{?0ccch/ /@Ч-44#p@Жh   @Г @Д@Д@w @Б@Ў ( L@` @+`8``?` `? L@` @+`8``:@W(p@J "׮  @@N@g4#@Nh L @L @M@M@0 @J?c@E 0 L@` @+`8``?` `? L@` @+`8``:@(p@$  @%@""Ϯ  @@@/#44c@ѐc!@#@ # /#* e*  t c* *  p a* *  s w d* * * * * * 4c@ΰc@ʐۗ @g?0ccch/ /@ϐ-44#@Ͼh   @ϻ @ϼ@ϼ@ϟ @Ϲ@϶ ( L@` @+`8``?` `? L@` @+`8``:@(p@r "׮  @@v@Ϗ4#@vh L @t @u@u@X @r?c@m 0 L@` @+`8``?` `? L@` @+`8``:@6(p@L  @M@J"Ϯ  @@%@>.#45`@c!@?#@4# /#* e*  c*  t g* *  r o* *  u p* * * * 4c@ِc@ @͐㿐P!45 #` #@@ߐc5`X@ͻ#@Րcڢ@r@ @k 5 x5`@ "5@@@W 54`@͖#@α#{@K0@5㿐@[@F5@`@Γ @έ n b,,  d y o, , , , , @Ϋ   @@ @#@;@~`@P㿐54!@vch  I  @p @q@q@T @n@N @h15@f &@d !@L`  (`8`` `?` `? 2, L ` @# ِ @(@&@?㿐@@̼5a@  @# n b,, o d y,,,,,d 5@ @ #55555a@P!X